[其他ST产品] 基于STM32 i2c从机卡死问题解决

[复制链接]
4169|65
 楼主| jcky001 发表于 2023-4-4 09:35 | 显示全部楼层 |阅读模式
调试i2c从机的时候,配置都注册,就是主机读到我的从机的时候就会卡死。摸索了好几天最后发现是clock no stretch mode 没有enable。真是醉了,完全是按照官方例程配置的。



如果clock no stretch mode 配置为disable 就会卡在地址10这里


Stahan 发表于 2023-4-4 23:45 | 显示全部楼层
还是用模拟iic比较好
MessageRing 发表于 2023-4-5 22:53 | 显示全部楼层
硬件iic好像有点问题
alvpeg 发表于 2023-4-13 15:47 | 显示全部楼层
在发送start前重新初始化下再看  
houjiakai 发表于 2023-4-13 22:40 | 显示全部楼层
stm32的I2C为什么会有bug
V853 发表于 2023-4-14 13:33 | 显示全部楼层
所以不要用硬件IIC哦。
朝生 发表于 2023-4-14 13:34 | 显示全部楼层
houjiakai 发表于 2023-4-13 22:40
stm32的I2C为什么会有bug

因为是长久以来的问题,也没说得到解决。
芯路例程 发表于 2023-4-14 13:34 | 显示全部楼层
【clock no stretch mode】这个配置的意思是什么?
SantaBunny 发表于 2023-4-16 18:43 | 显示全部楼层
硬件iic好像有问题
AloneKaven 发表于 2023-4-17 23:46 | 显示全部楼层
硬件iic的问题一直没解决啊
robincotton 发表于 2023-4-18 12:11 | 显示全部楼层
想用IIC的话,就用软件模拟吧。
robertesth 发表于 2023-4-18 12:17 | 显示全部楼层
确认SCL、SDA和地线的连接是否正确,以及是否存在电气干扰等因素。
yorkbarney 发表于 2023-4-18 14:26 | 显示全部楼层
ack信号时间很短暂,一旦错过了这个短暂的ACK信号,STM32就挂了。
deliahouse887 发表于 2023-4-18 14:56 | 显示全部楼层
可以在硬件上增加电源滤波电容、终端电阻等措施,以提高I2C总线的可靠性和稳定性。
macpherson 发表于 2023-4-18 15:18 | 显示全部楼层
在I2C从机代码中实现超时机制,如果主机在一定时间内没有完成ACK信号的发送,从机可以停止当前传输并重新等待新的传输请求。
lzmm 发表于 2023-4-18 15:25 | 显示全部楼层
可以在I2C从机代码中实现适当的错误处理机制,例如使用中断、错误标志位等来监测和处理I2C总线状态错误。
qiufengsd 发表于 2023-4-18 15:47 | 显示全部楼层
应该说硬件I2C使用起来比较啰嗦,主要是不会用导致的问题。
cemaj 发表于 2023-4-18 16:21 | 显示全部楼层
STM32 硬件I2C 到底是不是个坑
plsbackup 发表于 2023-4-18 18:30 | 显示全部楼层
自己加判断语句,要是检测不到器件就重新初始化!
benjaminka 发表于 2023-4-18 18:46 | 显示全部楼层
在从机代码中,需要确认主机发送的I2C地址与从机预设的地址是否匹配,如果不匹配可能会导致卡死问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

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