Autor Tema: Problema al escribir/leer en la memoria de programa  (Leído 1517 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Problema al escribir/leer en la memoria de programa
« 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)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema al escribir/leer en la memoria de programa
« Respuesta #1 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
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Problema al escribir/leer en la memoria de programa
« Respuesta #2 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

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Problema al escribir/leer en la memoria de programa
« Respuesta #3 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)


 

anything