kache 发表于 2026-3-22 12:02:18

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:}

乘风飞扬 发表于 2026-3-23 00:15:15

用附件例子试试,串口打印EEPROM读写结果。
功能验证正常后再进行修改或者移植。
页: [1]
查看完整版本: eeprom 写入读取失败解决方法