[STM32F0] 使用I2C EEPROM时偶发写入失败,像没等写周期结束

[复制链接]
95|10
万图 发表于 2025-10-20 07:46 | 显示全部楼层 |阅读模式
写AT24C02时偶尔失败,重新上电后那段数据全是0xFF。我用HAL库写入后延时5ms再读,理论上够了。是不是EEPROM内部写周期没等够?
Clyde011 发表于 2025-10-20 07:51 | 显示全部楼层
我以前的经验:延时+重试机制最稳。
公羊子丹 发表于 2025-10-20 07:52 | 显示全部楼层
AT24C02有时候要等7ms以上,5ms不一定稳。
周半梅 发表于 2025-10-20 07:53 | 显示全部楼层
建议用ACK polling,不要死延时。
帛灿灿 发表于 2025-10-20 07:54 | 显示全部楼层
我也被这个坑过几次,尤其在低温环境下更慢。
童雨竹 发表于 2025-10-20 07:55 | 显示全部楼层
检查下供电电压是不是在临界点。
 楼主| 万图 发表于 2025-10-20 07:56 | 显示全部楼层
有时候I2C拉电阻太大也会影响ACK检测。
Wordsworth 发表于 2025-10-20 07:57 | 显示全部楼层
我看有些人干脆写两次确认,保险一点。
Bblythe 发表于 2025-10-20 07:58 | 显示全部楼层
是不是在写满页时没处理页边界?
Pulitzer 发表于 2025-10-20 07:59 | 显示全部楼层
HAL库对I2C的回调有点怪,可以自己改下。
Uriah 发表于 2025-10-20 07:59 | 显示全部楼层
用逻辑分析仪抓一抓波形,看ACK是否丢失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

185

主题

6337

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部