[STM32L4] I2C设备通信正常但偶尔返回全0数据,不进错误中断

[复制链接]
222|10
Wordsworth 发表于 2025-11-1 07:48 | 显示全部楼层 |阅读模式
I2C从机是EEPROM,正常能读写,但跑久了会偶尔返回全0数据,主机没报错也没重发。感觉像从机“走神”了一下,时序也没错。
Clyde011 发表于 2025-11-1 07:52 | 显示全部楼层
我觉得也可能是中断被别的任务打断。
公羊子丹 发表于 2025-11-1 07:53 | 显示全部楼层
有可能是ACK丢了,但主机没检测出来。
周半梅 发表于 2025-11-1 07:54 | 显示全部楼层
你试过调大超时时间吗?有时候太紧张。
帛灿灿 发表于 2025-11-1 07:55 | 显示全部楼层
我以前发现DMA模式下偶发这种情况。
童雨竹 发表于 2025-11-1 07:57 | 显示全部楼层
检查一下电源波形,EEPROM对电压波动很敏感。
万图 发表于 2025-11-1 07:58 | 显示全部楼层
SCL线太长或者上拉电阻偏大也会影响信号质量。
 楼主| Wordsworth 发表于 2025-11-1 08:09 | 显示全部楼层
用逻辑分析仪抓一下,看看从机有没有NACK。
Bblythe 发表于 2025-11-1 08:10 | 显示全部楼层
有的EEPROM内部周期忙的时候也会拉住总线。
Pulitzer 发表于 2025-11-1 08:11 | 显示全部楼层
我曾经通过加一次START重试解决了。
Uriah 发表于 2025-11-1 08:12 | 显示全部楼层
ST HAL库I2C有个bug,会丢掉一次数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

6391

帖子

1

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