找回密码
 立即注册
楼主: ider

8G如何避免硬件IIC等死在Wait函数中?| 为什么要死等,没有应答就跳过啊

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2024-01-15 09:24:33

1

主题

12

回帖

82

积分

注册会员

积分
82
发表于 2023-12-25 12:06:40 | 显示全部楼层
模拟,多线程,用判断跳转
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-16 08:17:07
已绑定手机

40

主题

371

回帖

969

积分

高级会员

积分
969
发表于 2023-12-26 09:27:58 | 显示全部楼层
Mr.*** 发表于 2023-12-23 11:25
不是还有一个看门狗么的东西么,长时间就复位单片机

看门狗不是用在这里的,超时报警跳出重新判断,如果单片机突然复位程序重头来会造成意想不到的麻烦。
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-06 00:03:37
已绑定手机

10

主题

45

回帖

224

积分

中级会员

积分
224
发表于 2025-2-24 22:35:14 | 显示全部楼层
我碰到同样问题,已经许多许多次了。开始复制官方例程可用,移植程序时换个函数名就卡死,经常的事。迫不得已改用模拟IIC,移植性还好,能在不同厂家的单片机上用。STC的硬件IIC就是个鸡肋,出现这样的问题,找不到答案。

点评

模拟IIC我平时也用得比较多,因为它移植性强  发表于 2025-2-25 13:22
好用得很 https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4612 https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613 https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4698 https://ww  详情 回复 发表于 2025-2-25 11:54
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-06-16 07:06:57
已绑定手机

79

主题

5131

回帖

9128

积分

超级版主

DebugLab

积分
9128
发表于 2025-2-25 11:54:21 | 显示全部楼层
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-06-16 07:06:57
已绑定手机

79

主题

5131

回帖

9128

积分

超级版主

DebugLab

积分
9128
发表于 2025-2-25 12:23:30 | 显示全部楼层
为什么要死等,没有应答就跳过啊
白话:叫它它不答应还等它干嘛不要耽误老子干别的事情
这个SHT30例程就是I2C一直在读,SHT30准备好数据之后才会应答,有应答才读数据,否则跳过读数据的阶段
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4612
截图202502251220151865.jpg


DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:566
  • 最近打卡:2025-06-16 07:52:44

113

主题

2027

回帖

5810

积分

论坛元老

积分
5810
发表于 2025-2-25 13:20:49 | 显示全部楼层
我也觉得官方应该能考虑到这个死等的问题,所以会找到一个解决的办法。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 03:31 , Processed in 0.171548 second(s), 88 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表