打印
[其他ST产品]

IIC通信超时函数无法正常跳出

[复制链接]
1322|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好像是不行

使用特权

评论回复
5
白马过平川| | 2023-11-17 03:00 | 只看该作者
这个没遇到过啊,是不是你的定时器出问题了啊?

使用特权

评论回复
6
她已醉| | 2023-11-17 07:00 | 只看该作者
程序贴出来看看呗,这么说也搞不定啊

使用特权

评论回复
7
故意相遇| | 2023-11-17 09:00 | 只看该作者
一般来说ST的硬件I2C是不太好用,容易卡死

使用特权

评论回复
8
失物招領| | 2023-11-17 11:00 | 只看该作者
我用硬件I2C也没卡死过啊,你咋操作的?

使用特权

评论回复
9
西洲| | 2023-11-17 13:00 | 只看该作者
建议直接使用CUBEMX实现配置I2C的话,估计会好一些吧

使用特权

评论回复
10
春日负喧| | 2023-11-17 18:00 | 只看该作者
运**死的话,你重启是不是就好了?是不是你执行I2C的时候又执行其他中断了啊

使用特权

评论回复
11
将爱藏于深海| | 2023-11-17 20:00 | 只看该作者
直接模拟的I2C多好啊,还稳定可靠

使用特权

评论回复
12
月亮一键变蓝| | 2023-11-17 22:30 | 只看该作者
I2C的话,ST是不稳,不如SPI好用

使用特权

评论回复
13
tpgf| | 2023-12-4 12:50 | 只看该作者
首先要看一下晶振是不是正常工作了

使用特权

评论回复
14
drer| | 2023-12-4 13:43 | 只看该作者
可以查看一下是不是时钟频率不一致导致的

使用特权

评论回复
15
coshi| | 2023-12-4 20:59 | 只看该作者
可以用示波器看一下发生超时时候的波形

使用特权

评论回复
16
qcliu| | 2023-12-4 21:30 | 只看该作者
初始化的时候可以正常通过吗

使用特权

评论回复
17
kxsi| | 2023-12-5 08:49 | 只看该作者
这个还不错还能跳出  我的为什么就死循环了呢

使用特权

评论回复
18
wiba| | 2023-12-5 10:01 | 只看该作者
是否可以更改一下判定的条件 这样就不至于挑不出来了

使用特权

评论回复
19
童雨竹| | 2024-8-21 08:10 | 只看该作者

只要内存占用量不超过 256.0 就可以用 small 模式编译

使用特权

评论回复
20
Wordsworth| | 2024-8-21 09:13 | 只看该作者

专门的滤波器来阻止交流噪声进入周围的电路

使用特权

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

本版积分规则

667

主题

2857

帖子

0

粉丝