找回密码
 立即注册
查看: 45|回复: 1

eeprom 写入读取失败解决方法

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-03-22 12:02:18
已绑定手机

1

主题

7

回帖

143

积分

注册会员

积分
143
发表于 2026-3-22 12:02:18 来自手机 | 显示全部楼层 |阅读模式
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++;       
        }
我用goto  loop语句,加if语句中判断是否读写失败,可以完美的解决问题,官方AIcube生成的,我试了好多次,只能读两个字节。
而且这个方法也仅仅是判断失败后再次赋值,并没有两次读写。
大家看看这方法是否可取!!
IMG_20260322_120054.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:651
  • 最近打卡:2026-03-31 10:58:01
已绑定手机

52

主题

2527

回帖

8888

积分

论坛元老

积分
8888
发表于 2026-3-23 00:15:15 | 显示全部楼层
用附件例子试试,串口打印EEPROM读写结果。
功能验证正常后再进行修改或者移植。

按键触发EEPROM读写测试程序-通过串口1输出-32G.zip

17.6 KB, 下载次数: 1

回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-4-1 09:00 , Processed in 0.105502 second(s), 52 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表