打印
[其他ST产品]

基于STM32 i2c从机卡死问题解决

[复制链接]
楼主: jcky001
手机看帖
扫描二维码
随时随地手机跟帖
21
febgxu| | 2023-4-18 20:46 | 只看该作者 回帖奖励 |倒序浏览
在从机接收数据时,需要检查接收数据寄存器中的数据接收标志位,如果数据接收标志位被置位,则应该立即发送ACK信号,否则可能导致卡死问题。

使用特权

评论回复
22
uptown| | 2023-4-18 21:29 | 只看该作者
使用I2C软件复位来重置I2C总线,并确保在下次通信之前,清除I2C状态寄存器中的错误标志位。

使用特权

评论回复
23
Stahan| | 2023-4-19 23:43 | 只看该作者
硬件IIC的问题一直没有解决掉

使用特权

评论回复
24
yszong| | 2023-4-22 12:31 | 只看该作者
还是用模拟iic比较好

使用特权

评论回复
25
renyaq| | 2023-4-22 12:43 | 只看该作者
硬件iic好像有点问题

使用特权

评论回复
26
pengf| | 2023-4-22 12:44 | 只看该作者
在发送start前重新初始化下再看  

使用特权

评论回复
27
renyaq| | 2023-4-22 12:46 | 只看该作者

stm32的I2C为什么会有bug

使用特权

评论回复
28
supernan| | 2023-4-22 12:47 | 只看该作者
所以不要用硬件IIC哦。

使用特权

评论回复
29
chenho| | 2023-4-22 12:49 | 只看该作者
因为是长久以来的问题,也没说得到解决。

使用特权

评论回复
30
chenho| | 2023-4-22 12:51 | 只看该作者

【clock no stretch mode】这个配置的意思是什么?

使用特权

评论回复
31
chenho| | 2023-4-22 12:53 | 只看该作者
硬件iic好像有问题

使用特权

评论回复
32
dengdc| | 2023-4-22 12:54 | 只看该作者
硬件iic的问题一直没解决啊

使用特权

评论回复
33
dengdc| | 2023-4-22 12:55 | 只看该作者
想用IIC的话,就用软件模拟吧。

使用特权

评论回复
34
heweibig| | 2023-4-22 12:57 | 只看该作者
确认SCL、SDA和地线的连接是否正确,以及是否存在电气干扰等因素。

使用特权

评论回复
35
guoyt| | 2023-4-22 12:59 | 只看该作者
ack信号时间很短暂,一旦错过了这个短暂的ACK信号,STM32就挂了。

使用特权

评论回复
36
wangpe| | 2023-4-22 13:02 | 只看该作者
可以在硬件上增加电源滤波电容、终端电阻等措施,以提高I2C总线的可靠性和稳定性。

使用特权

评论回复
37
jiajs| | 2023-4-22 13:03 | 只看该作者
在I2C从机代码中实现超时机制,如果主机在一定时间内没有完成ACK信号的发送,从机可以停止当前传输并重新等待新的传输请求。

使用特权

评论回复
38
wangpe| | 2023-4-22 13:04 | 只看该作者
可以在I2C从机代码中实现适当的错误处理机制,例如使用中断、错误标志位等来监测和处理I2C总线状态错误。

使用特权

评论回复
39
kangzj| | 2023-4-22 13:05 | 只看该作者

应该说硬件I2C使用起来比较啰嗦,主要是不会用导致的问题。

使用特权

评论回复
40
tian111| | 2023-4-22 13:07 | 只看该作者
STM32 硬件I2C 到底是不是个坑

使用特权

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

本版积分规则