eeprom 写入读取失败解决方法
void IAP_ReadNumByte(uint32_t dwAddress,uint16_t len){
uint8_t *p=Iap_Buf;
IAP_Enable();
IAP_CMD = 1;
while(len--)
{
IAP_SetAddress(dwAddress);
IAP_Trigger();
loop: *p = IAP_ReadData();
if(IAP_CheckErrorFlag())
{
IAP_ClearErrorFlag();
goto loop;
}
p++;
dwAddress++;
}
我用gotoloop语句,加if语句中判断是否读写失败,可以完美的解决问题,官方AIcube生成的,我试了好多次,只能读两个字节。
而且这个方法也仅仅是判断失败后再次赋值,并没有两次读写。
大家看看这方法是否可取!!{:4_201:} 用附件例子试试,串口打印EEPROM读写结果。
功能验证正常后再进行修改或者移植。
页:
[1]