Problema al escribir y leer en la memoria flash del programa en el PIC18F2550

Buentas tardes

hace algunas semanas creamos un codigo para poder almacenar datos en la memoria flash del PIC16f877A por medio de la función write_program_eeprom(dirección, dato) del compiladr CCS C, efectivamente los resultados fueron muy buenos.

De igual manera se quiso implementar el mismo codigo en un PIC18F2550, pero para este caso la función antes mecionada no nos sirvio. Por tanto, se utilizo la funcion write_program_memory del mismo compilador con no muy buenos resultados.

Leyendo en el manual de CCS C seguimos los pasos mencionados en la ayuda, pero aún no hemos podido solucionar el problema para ninguna de las dos funciones.

El codigo es el siguiente

Código:
#include "yy.h"
#include <lcd.c>
#fuses NOWDT,HS, NOPROTECT,NOBROWNOUT, NOPUT, NOLVP, NOWRT, NOWRTD, NOWRTB, NOWRTC, NOCPD, NOCPB, NOEBTR, NOEBTRB
#use delay(clock=4000000)

 int16 write_data, read_data;

void main()
{

   lcd_init();
   setup_adc_ports(NO_ANALOGS);

   write_data = 0xAA;
   write_program_memory(0x1000, write_data, 1);
   delay_ms(100);

   read_program_memory(0x1000, read_data, 1);
   printf(lcd_putc,"%03Lu ", read_data);
  }

El codigo no genera errores al compilarlo y al simularlo con Proteus 7.2 genera los siguientes warnings:


>>[pic18 memory] Pc= 0x01dc write 0xFF (255) to unimplemented memory address 0x0800 does nothing.
>>[pic18 memory] Pc= 0x01dc write 0xFF (255) to unimplemented memory address 0x0801 does nothing.
>>[pic18 memory] Pc= 0x01dc write 0xFF (255) to unimplemented memory address 0x0802 does nothing.
.......y genera miles de errores iguales

Agradecemos su ayuda en la solución de nuestro problema.
 

Adjuntos

  • error_245.jpg
    error_245.jpg
    117.9 KB · Visitas: 14
Atrás
Arriba