[STM32L0] I2C设备偶尔不响应,重启MCU后又恢复正常

[复制链接]
65|10
帛灿灿 发表于 2025-11-13 07:13 | 显示全部楼层 |阅读模式
项目里挂了两个I2C传感器,有时候其中一个突然就不应答,SDA线拉低也不放。重启主控又能恢复,感觉像设备在“卡总线”。拉高电阻已经换过几种值了,问题仍旧存在。
Clyde011 发表于 2025-11-13 07:19 | 显示全部楼层
建议用逻辑分析仪抓一抓,看看最后一次通信状态。
公羊子丹 发表于 2025-11-13 07:20 | 显示全部楼层
I2C这种问题我头疼过无数次,多半是挂死在BUSY状态。
周半梅 发表于 2025-11-13 07:21 | 显示全部楼层
你加了总线复位机制吗?比如发几个虚拟时钟释放SDA。
 楼主| 帛灿灿 发表于 2025-11-13 07:22 | 显示全部楼层
我印象L0系列I2C有个BUG,断电没完全复位会这样。
童雨竹 发表于 2025-11-13 07:23 | 显示全部楼层
可以试下软复位I2C外设,不用整个MCU重启。
万图 发表于 2025-11-13 07:24 | 显示全部楼层
是不是中途有热插拔设备?那肯定容易卡死。
Wordsworth 发表于 2025-11-13 07:25 | 显示全部楼层
拉高电阻别太小,太强反而让SCL波形畸变。
Bblythe 发表于 2025-11-13 07:26 | 显示全部楼层
我以前加个看门狗专门监测I2C状态,卡死就拉复位。
Pulitzer 发表于 2025-11-13 07:27 | 显示全部楼层
SDA线有没有被别的模块干扰?
Uriah 发表于 2025-11-13 07:28 | 显示全部楼层
我遇到过线太长信号反射,I2C特别容易中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

6532

帖子

0

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