TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jeremylf en 20 de Junio de 2007, 17:54:54

Título: Problema al escribir/leer en la memoria de programa
Publicado por: jeremylf en 20 de Junio de 2007, 17:54:54
Hola a todos. El problema q tengo esq al intentar guardar o leer datos en la memoria de pograma me lee o guarda (porq nose q esta pasando) datos diferentes a los q quiero guardar.

Este es el codigo q llevo echo, espero puedan darle una ojeada y decirme q hago mal  :?

Código: [Seleccionar]
#include <18f2550.h>
#fuses HS,NOPROTECT,NOWDT,PUT
#use delay(clock=12000000)
#include <lcd_f2550.c>

void main()
   {
   int dato = 1 ;               
   char string[64];

   lcd_init();
   lcd_putc("\fJEREMY");
   delay_ms(1000);

   write_program_memory(0x03D2,dato,1);  //dirreccion, direcion donde se ncuentra l dato a guardar, cuantos bytes a partir de la direccion Dataptr vas a copiar.
   read_program_memory(0x03D2,string,1);
   
   for(;;)
      {
      printf(lcd_putc,"\f%u",string);
      delay_ms(50);
      }
   }

Como ven uso un PIC18F2550 con un cristal de 12MHZ y no creo q este pic no soporte esas funciones; bien lo q quiero q haga esq guarda en la direcion 03D2 de la memoria de programa del PIC la variable dato, ocea 1, y luego supuestamente con read_... almacenarlo en "string" para luego verlo en el LCD quien me muestra el numero: 7.  ¬¬!

Q estare haciendo mal? hay algo mejor q pueda hacer?  :?

PD: Nose ingles ^-^'


Gracias, salu2 8) 8) 8)
Título: Re: Problema al escribir/leer en la memoria de programa
Publicado por: maunix en 20 de Junio de 2007, 20:01:25
¿Y cómo funciona esa función?

¿Sabías que en los 18F debes primero borrar la memoria y que la misma se programa, dependiendo del pic, pero en general en bloque de 64 bytes?

Saludos
Título: Re: Problema al escribir/leer en la memoria de programa
Publicado por: PalitroqueZ en 20 de Junio de 2007, 20:45:51
Hola jeremylf

¿has visto el .hex final?

si todo va bien, deberias tener los datos almacenado en esa dirección y poder verlo con un programador de pics

añadiendo al comentario de Mauricio, prueba grabando datos solamente y te fijas en el .hex después intentas leer

Título: Re: Problema al escribir/leer en la memoria de programa
Publicado por: jeremylf en 21 de Junio de 2007, 16:35:42
La verdad nose como esq enrealidad se usa esas 2 funciones para leer y escribir en la memoria de programa del PIC, por eso esperaba q alguno de ustedes me lo dijiera o q me pudiera dar un ejemplo  :?

PalitroqueZ, lo q sale en el hexa (xq lo veo desde el MPLAB) no puedo entenderlo porq salen varias cosas en assembler y pues no ntendo  :?


Alguien sabra alguna forma de hacerlo ?? :? :?


salu2 8)