【发布时间】:2013-12-20 20:37:02
【问题描述】:
我正在使用以下库 <flash.h> 从内存中擦除/写入/读取,但不幸的是,我尝试保存的数据似乎没有写入闪存。我正在使用带有 MPLAB XC8 编译器的 PIC18F87j11。此外,当我尝试写入 PIC 后从 PIC 读取程序存储器时,地址 0x1C0CA 上没有数据。我做错了什么?
char read[1];
/* set FOSC clock to 8MHZ */
OSCCON = 0b01110000;
/* turn off 4x PLL */
OSCTUNE = 0x00;
TRISDbits.TRISD6 = 0; // set as ouput
TRISDbits.TRISD7 = 0; // set as ouput
LATDbits.LATD6 = 0; // LED 1 OFF
LATDbits.LATD7 = 1; // LED 2 ON
EraseFlash(0x1C0CA, 0x1C0CA);
WriteBytesFlash(0x1C0CA, 1, 0x01);
ReadFlash(0x1C0CA, 1, read[0]);
if (read[0] == 0x01)
LATDbits.LATD6 = 1; // LED 1 ON
while (1) {
}
【问题讨论】:
-
你确定
ReadFlash(0x1C0CA, 1, read[0]);不应该是ReadFlash(0x1C0CA, 1, read);吗? -
不管怎样都行不通,因为当我从 PIC 读取程序内存时,根本没有写入内存。
-
但你是对的,它应该是
read而不是read[0]
标签: memory embedded microcontroller pic microchip