[STM32F4] I2C跑着跑着就挂住,是不是死锁了?

[复制链接]
 楼主| Bblythe 发表于 2025-4-15 07:33 | 显示全部楼层 |阅读模式
是不是START或者STOP信号没发完整,导致总线卡住了?
Clyde011 发表于 2025-4-15 07:35 | 显示全部楼层
HAL_I2C_DeInit重启后再Init有时能恢复。
公羊子丹 发表于 2025-4-15 07:36 | 显示全部楼层
有没有在中间被打断导致START/STOP异常?
帛灿灿 发表于 2025-4-15 07:37 | 显示全部楼层
SDA/SCL线电平状态还能变吗?
童雨竹 发表于 2025-4-15 07:38 | 显示全部楼层
我一般用软件发STOP强行释放。
周半梅 发表于 2025-4-15 07:39 | 显示全部楼层
你是不是用了RESTART但没等ACK?
万图 发表于 2025-4-15 07:39 | 显示全部楼层
ST有个I2C复位技巧,抖SCL线9次看看。
Wordsworth 发表于 2025-4-15 07:40 | 显示全部楼层
是不是主机没等从设备Ready?
 楼主| Bblythe 发表于 2025-4-15 07:41 | 显示全部楼层
我之前WWDG窗口设错了,一直触发复位。
Pulitzer 发表于 2025-4-15 07:42 | 显示全部楼层
总线上有多个设备吗?看看地址冲突。
Uriah 发表于 2025-4-15 07:43 | 显示全部楼层
是不是用了SoftI2C和中断同时控制?
jcky001 发表于 2025-4-16 17:04 | 显示全部楼层
主从设备时序不匹配?
cr315 发表于 2025-4-16 17:05 | 显示全部楼层
从设备在应答后未释放SDA信号,主设备等待从设备释放,而从设备等待主设备拉低SCL,形成死锁。
elephant00 发表于 2025-4-16 17:05 | 显示全部楼层
可能是硬件问题吧。信号线过长或者上拉电阻配置不当。
两只袜子 发表于 2025-4-16 19:00 | 显示全部楼层
可能是中断或DMA处理不当,导致标志位未及时清除。超时时间设置过短,导致通信失败。
yan62167678 发表于 2025-4-29 08:45 | 显示全部楼层
Uriah 发表于 2025-4-15 07:43
是不是用了SoftI2C和中断同时控制?

你好,是软件和硬件同时控制的,这个需要注意什么吗?现在是一直BUSY,如果软件加入DISABLE ENABLE就可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

5747

帖子

1

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