[其他ST产品] IIC通信超时函数无法正常跳出

[复制链接]
1837|18
 楼主| flycamelaaa 发表于 2023-11-6 09:20 | 显示全部楼层 |阅读模式
程序运行到I2C_WaitOnFlagUntilTimeout时卡死,多次暂停读取HAL_GetTick()值没有变化;当把HAL_I2C_Mem_Read(size = 0),则会造成不知名问题,导致再次运行后HAL_I2C_Mem_Read(size = 2)也会停留在I2C_WaitOnFlagUntilTimeout()中,目前具体原因不详


Jacquetry 发表于 2023-11-6 21:14 | 显示全部楼层
是不是被其他中断打断了啊
在曼谷的春 发表于 2023-11-16 21:43 | 显示全部楼层
你用模拟的I2C就好了
我吃小朋友 发表于 2023-11-17 01:00 | 显示全部楼层
这个好像是正常的,ST的硬件I2C好像是不行
白马过平川 发表于 2023-11-17 03:00 | 显示全部楼层
这个没遇到过啊,是不是你的定时器出问题了啊?
她已醉 发表于 2023-11-17 07:00 | 显示全部楼层
程序贴出来看看呗,这么说也搞不定啊
故意相遇 发表于 2023-11-17 09:00 | 显示全部楼层
一般来说ST的硬件I2C是不太好用,容易卡死
失物招領 发表于 2023-11-17 11:00 | 显示全部楼层
我用硬件I2C也没卡死过啊,你咋操作的?
西洲 发表于 2023-11-17 13:00 | 显示全部楼层
建议直接使用CUBEMX实现配置I2C的话,估计会好一些吧
春日负喧 发表于 2023-11-17 18:00 | 显示全部楼层
运**死的话,你重启是不是就好了?是不是你执行I2C的时候又执行其他中断了啊
将爱藏于深海 发表于 2023-11-17 20:00 | 显示全部楼层
直接模拟的I2C多好啊,还稳定可靠
月亮一键变蓝 发表于 2023-11-17 22:30 | 显示全部楼层
I2C的话,ST是不稳,不如SPI好用
tpgf 发表于 2023-12-4 12:50 | 显示全部楼层
首先要看一下晶振是不是正常工作了
drer 发表于 2023-12-4 13:43 | 显示全部楼层
可以查看一下是不是时钟频率不一致导致的
coshi 发表于 2023-12-4 20:59 | 显示全部楼层
可以用示波器看一下发生超时时候的波形
qcliu 发表于 2023-12-4 21:30 | 显示全部楼层
初始化的时候可以正常通过吗
kxsi 发表于 2023-12-5 08:49 | 显示全部楼层
这个还不错还能跳出  我的为什么就死循环了呢
wiba 发表于 2023-12-5 10:01 | 显示全部楼层
是否可以更改一下判定的条件 这样就不至于挑不出来了
童雨竹 发表于 2024-8-21 08:10 | 显示全部楼层

只要内存占用量不超过 256.0 就可以用 small 模式编译
Wordsworth 发表于 2024-8-21 09:13 | 显示全部楼层

专门的滤波器来阻止交流噪声进入周围的电路
您需要登录后才可以回帖 登录 | 注册

本版积分规则

837

主题

4432

帖子

1

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