STM32程序设计中的超时处理

2019-07-14 15:00发布

我的问题就是堵塞的时候:
while(Is_relay_on())
{
tem++;
if(tem>100)
break;
}
我的tem++到100 一共是等待多久呢?
(晶振8M)


另外我UCOS也可以加入
    OStimeDlyHMSM(0, 0, 0,1);


while(Is_relay_on())
{
   OSTimeDlyHMSM(0, 0, 0,1);
tem++;
if(tem>100)
break;
}
这样我就是知道是等了100个1MS 这样好吗?  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
cnm7
1楼-- · 2019-07-14 21:42
要不你修改堵塞循环语句里的参数看看有什么变化
tao322
2楼-- · 2019-07-15 02:56
 精彩回答 2  元偷偷看……
TOPCB
3楼-- · 2019-07-15 03:51
ucos的是1ms,100次也就是100ms。如果不用就看总线时钟是多少了,103是72Mhz,再算机器周期,再算++的执行周期。
vywyefswer
4楼-- · 2019-07-15 09:41
如果要知道等待时间,肯定就不能用无限循环了,就得用定时器或者滴答时钟了

一周热门 更多>