[STM32L0] 低功耗模式下I2C通讯偶发失效问题排查卡壳了

[复制链接]
359|10
公羊子丹 发表于 2025-11-9 07:22 | 显示全部楼层 |阅读模式
设备在低功耗唤醒后,I2C偶尔会读不到数据,好像总线没完全恢复。逻辑分析仪看时序没明显问题,但从机没响应。试过重新初始化I2C外设,有时能恢复,有时不行,感觉像时序卡死。
Clyde011 发表于 2025-11-9 07:27 | 显示全部楼层
有时候供电纹波也会导致这种“假死”,特别是低功耗切换瞬间。
 楼主| 公羊子丹 发表于 2025-11-9 07:29 | 显示全部楼层
之前我碰到过类似情况,最后是因为唤醒时钟没完全稳定就开始通讯。
周半梅 发表于 2025-11-9 07:31 | 显示全部楼层
你试过加一点延时再启动I2C吗?有时候时钟同步问题挺隐蔽。
帛灿灿 发表于 2025-11-9 07:32 | 显示全部楼层
我怀疑是I2C的复位寄存器没清干净,重新init不一定真复位。
童雨竹 发表于 2025-11-9 07:33 | 显示全部楼层
L0系列的低功耗恢复时间挺长的,可能跟时钟源切换有关。
万图 发表于 2025-11-9 07:35 | 显示全部楼层
你能试试在进入低功耗前先手动释放SCL线?我以前这样能解决。
Wordsworth 发表于 2025-11-9 07:36 | 显示全部楼层
要不要看看从机那边是不是在休眠没醒?也可能是对方掉电慢。
Bblythe 发表于 2025-11-9 07:37 | 显示全部楼层
我记得有个errata提过I2C在STOP模式下偶发挂起的问题。
Pulitzer 发表于 2025-11-9 07:38 | 显示全部楼层
试试改成软件模拟I2C看看能不能稳定点?
Uriah 发表于 2025-11-9 07:39 | 显示全部楼层
我猜可能是NVIC优先级的问题,唤醒顺序有点乱。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

231

主题

6924

帖子

3

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