stm8 EEPROM数据掉电丢失

2019-07-19 21:42发布

在论坛里抄了一位兄台的程序
1.。结果点download and debug 的时候读出来的和写进去的都对,接着点debug without downloading 的时候,数据读出来就成了0x9D了。
2.每次都会卡死在FLASH_WaitForLastOperation这里,我就删掉了发现能写进去。
求教各位~ [mw_shl_code=c,true]unsigned char a; unsigned char eeprom_read( unsigned char addr) { unsigned char *p; p=(unsigned char *)(0x4000+addr); return *p; } void eeprom_write(unsigned long addr,unsigned char num) { //FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA); //确保前面的操作完成 FLASH_Unlock(FLASH_MEMTYPE_DATA); //解锁写保护 FLASH_ProgramByte(addr,num); // FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA); //等待操作完成 FLASH_Lock(FLASH_MEMTYPE_DATA); //写保护 } void main() { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); while(1) { eeprom_write(0x4000,2); a=FLASH_ReadByte(0x4000); }[/mw_shl_code]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。