Memory Can';不保存到闪存?
我正在使用以下库来擦除/写入/读取内存,但不幸的是,我试图保存的数据似乎没有写入闪存。我正在使用带有MPLAB XC8编译器的PIC18F87j11。另外,当我尝试写入PIC后从PIC读取程序内存时,地址0x1C0CA上没有数据。我做错了什么Memory Can';不保存到闪存?,memory,embedded,microcontroller,pic,microchip,Memory,Embedded,Microcontroller,Pic,Microchip,我正在使用以下库来擦除/写入/读取内存,但不幸的是,我试图保存的数据似乎没有写入闪存。我正在使用带有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;
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) {
}
我不知道WriteFlashBytes的作用是什么,但您的设备的页面大小是64字节,在写入后,您需要将ulock序列写入EECON2和EECON1寄存器,以开始对闪存进行编程您确定
ReadFlash(0x1C0CA,1,读取[0])代码>不应该是ReadFlash(0x1C0CA,1,read)代码>?无论哪种方式它都不工作,因为当我从PIC读取程序内存时,根本没有写入内存。但是你是对的,它应该是读取
,而不是读取[0]