打印
[STM32F4]

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

[复制链接]
522|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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线电平状态还能变吗?

使用特权

评论回复
5
童雨竹| | 2025-4-15 07:38 | 只看该作者
我一般用软件发STOP强行释放。

使用特权

评论回复
6
周半梅| | 2025-4-15 07:39 | 只看该作者
你是不是用了RESTART但没等ACK?

使用特权

评论回复
7
万图| | 2025-4-15 07:39 | 只看该作者
ST有个I2C复位技巧,抖SCL线9次看看。

使用特权

评论回复
8
Wordsworth| | 2025-4-15 07:40 | 只看该作者
是不是主机没等从设备Ready?

使用特权

评论回复
9
Bblythe|  楼主 | 2025-4-15 07:41 | 只看该作者
我之前WWDG窗口设错了,一直触发复位。

使用特权

评论回复
10
Pulitzer| | 2025-4-15 07:42 | 只看该作者
总线上有多个设备吗?看看地址冲突。

使用特权

评论回复
11
Uriah| | 2025-4-15 07:43 | 只看该作者
是不是用了SoftI2C和中断同时控制?

使用特权

评论回复
12
jcky001| | 2025-4-16 17:04 | 只看该作者
主从设备时序不匹配?

使用特权

评论回复
13
cr315| | 2025-4-16 17:05 | 只看该作者
从设备在应答后未释放SDA信号,主设备等待从设备释放,而从设备等待主设备拉低SCL,形成死锁。

使用特权

评论回复
14
elephant00| | 2025-4-16 17:05 | 只看该作者
可能是硬件问题吧。信号线过长或者上拉电阻配置不当。

使用特权

评论回复
15
两只袜子| | 2025-4-16 19:00 | 只看该作者
可能是中断或DMA处理不当,导致标志位未及时清除。超时时间设置过短,导致通信失败。

使用特权

评论回复
16
yan62167678| | 2025-4-29 08:45 | 只看该作者
Uriah 发表于 2025-4-15 07:43
是不是用了SoftI2C和中断同时控制?

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

4821

帖子

0

粉丝