Я хочу сохранить номер в PIC18, а затем сохранить его, даже если питание потеряно или устройство сбрасывается. Я думаю, что моя часть кода написана отлично, только часть чтения выглядит странно после перезагрузки устройства.Как вы пишете и читаете в памяти с помощью PIC18?
Я использую следующий код, который я получил от Microchip.
Код:
unsigned int value;
unsigned int DEEdata = 1;
unsigned int DEEaddr = 0x04;
DataEEInit();
dataEEFlags.val = 0;
DataEEWrite(DEEdata,DEEaddr);
value = DataEERead(DEEaddr);
Nop();
printf("%d",value);
выводе: 1
Однако, когда я сброса устройства и использовать только код чтения я всегда получаю 255.
код для чтения:
DataEEInit();
value = DataEERead(DEEaddr);
printf("%d",value);
Выход: 255
Почему это происходит? Я предполагаю, что значение не сохраняется или часть чтения неверна. Спасибо!
есть ли в вашей настройке eeprom? если вы получаете 255 (0xFF), он либо стирается, либо никогда не записывается, либо вы выполняете стирание при запуске. 'EE' на functon называет намек на то, что его запись на eeprom. какой номер вашего устройства? –
У меня есть pic18f87j11 – Ammar
@Ammar Если вы не нашли ответ здесь (хотя я вижу, что есть некоторые многообещающие ответы), вы можете проверить форум Microchip http://www.microchip.com/forums/. Я нашел их полезными в прошлом. –