[STM32L0] I2C通信偶尔卡死,主机像是等不到回应一样

[复制链接]
131|11
帛灿灿 发表于 2025-11-5 07:40 | 显示全部楼层 |阅读模式
用I2C外设采集传感器数据,偶尔程序就死在等待ACK那一步,好像对方设备突然走神了。拉高拉低测试都没效果,换过不同频率也一样。怀疑是某个状态没清掉。
Clyde011 发表于 2025-11-5 07:46 | 显示全部楼层
加个I2C错误中断看看有没有捕获到BUS ERROR。
公羊子丹 发表于 2025-11-5 07:47 | 显示全部楼层
这个我太熟了,十有**是BUSY位没复位。
周半梅 发表于 2025-11-5 07:48 | 显示全部楼层
我以前遇到是因为STOP位没清,导致总线挂死。
 楼主| 帛灿灿 发表于 2025-11-5 07:49 | 显示全部楼层
你用逻辑分析仪看过波形吗?可能设备没释放SDA。
童雨竹 发表于 2025-11-5 07:50 | 显示全部楼层
有的传感器掉电太慢,会造成总线保持低电平。
万图 发表于 2025-11-5 07:51 | 显示全部楼层
试试软复位I2C外设,每次出错重启能救回来。
Wordsworth 发表于 2025-11-5 07:52 | 显示全部楼层
STM32的I2C挺挑剔的,延时太短也不行。
Bblythe 发表于 2025-11-5 07:53 | 显示全部楼层
我一般在超时后拉低SCL几下“手动解锁”。
Pulitzer 发表于 2025-11-5 07:54 | 显示全部楼层
可能是噪声干扰,尤其是线太长的情况。
Uriah 发表于 2025-11-5 07:55 | 显示全部楼层
也许是驱动没考虑重复START的场景。
ldy216 发表于 2025-11-5 11:27 | 显示全部楼层
为什么不用我的模板来写项目,10分钟整个产品完工不好吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

6489

帖子

0

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