TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: edu1989 en 08 de Noviembre de 2010, 07:32:04

Título: error. duda!
Publicado por: edu1989 en 08 de Noviembre de 2010, 07:32:04
Holaa, estoy probando el programa que acabo de hacer en el proteus y me sale la siguiente sentencia de error:
[PIC18MEMORY]PC=0x0014 Write 0x00(0) to unimplemented memory address 0x0F4D does nothing

Creo que tiene algo que ver con que estoy consultando direcciones que no hay nada pero no entiendo porque, les pongo el codigo del programa:

#include <pic18.h>
#define PORTBIT(adr,bit)((unsigned)(&adr)*8+(bit))

static bit LED @ PORTBIT(PORTA,1);
static bit MCLR @ PORTBIT(PORTE,3);
void main(void){
MCLR=1;
PORTA=0x00;
TRISA=0x3F;

while(1){

LED=1;

}
}

El programa es muy simple, activa el LED que se encuentra conectado a RA1 y lo deja encendido siempre. Espero que puedan ayudarme
Gracias de antemano
Título: Re: error. duda!
Publicado por: pablomanieri en 08 de Noviembre de 2010, 09:02:59
#include <pic18.h>

Creo que deberías indicar específicamente que pic es el que vas a utilizar
tal vez el proteus está tomando uno que no es el que usas en realidad
deberías por ejemplo, si usas el 18f4550, colocar:
#include <pic18f4550.h>

PD: no se si el nombre del .h comienza con pic... o solo con p..., es decir pic18f4550.h o p18f4550.h  (eso verifícalo.)
Título: Re: error. duda!
Publicado por: edu1989 en 08 de Noviembre de 2010, 10:08:43
Gracias por responder tan rapido.

El include del pic18f4550 ya viene incluido en el include pic18.h. Por si acaso, lo he probado y ahora ni me compila bien porque hay conflictos de declaraciones de variables.

Alguna otra idea?
Título: Re: error. duda!
Publicado por: pablomanieri en 08 de Noviembre de 2010, 10:15:42
Deberías quitar el #include <pic18.h> y agregar el que te comenté.

Otra cosa que puedes probar es definir la variable _18F4550 usando #define _18F4550, antes del #include <pic18.h>
(en este caso no incluir el pic18f4550.h)
Título: Re: error. duda!
Publicado por: edu1989 en 08 de Noviembre de 2010, 10:36:59
Muchas gracias. Habia que añadir #include <pic18f4550.h>
Por otra parte ahora me tira un error mas ( el proteus):

- [PIC18 LOAD] Program address 0x0001FFEC is not within code memory


Gracias por ayudarme.
Título: Re: error. duda!
Publicado por: edu1989 en 10 de Noviembre de 2010, 06:23:35
Sigo con la duda.. alguien puede ayudarme? Gracias!
Título: Re: error. duda!
Publicado por: pablomanieri en 10 de Noviembre de 2010, 09:00:38
puedes adjuntar los archivos y la simulación?
Título: Re: error. duda!
Publicado por: edu1989 en 10 de Noviembre de 2010, 09:07:53
Solucionado. Gracias igualmente! tengo otra duda que he puesto en el tema siguiente a este. Pasate a mirar por favor, me urge bastante.

Gracias
Título: Re: error. duda!
Publicado por: pablomanieri en 10 de Noviembre de 2010, 09:21:47
Sería conveniente que coloques cual fue la solución, así le sirve a alguien más  :)
Título: Re: error. duda!
Publicado por: edu1989 en 10 de Noviembre de 2010, 09:24:18
No puse los includes correctos en el Mplab. Tenia puesto:

<pic18f4550.h>
<18f4550.h>
<htc.h>

Estos dos ultimos los quite y puse el primero. Muy simple!