黑皮男 发表于 2016-10-13 15:07:44

没事逛荡 发表于 2016-10-13 09:13
可能描述不大清楚。
我是想用一种方式代替for()循环延时,在延时的过程中还可以处理其它的流程,类似于操 ...

我提供的就是这样一种方式,ucDescrementChar(&ucPowerTimer)的参数是一个全局变量,用来做自减操作,直到减为0,即为延时终止,执行if(ucDescrementChar(&ucPowerTimer))条件语句满足时刻的代码。if()条件满足内的代码即为延时时间到后需要执行的,这个是用if判断时候延时结束,所以不影响延时外部的代码执行,也就是说没有阻塞整个程序的执行。但是你需要提供一个时基,确保每次调用ucDescrementChar(&ucPowerTimer)的时间间隔相同(总体来说相同)。

mark0668 发表于 2016-10-13 15:17:10

方法很多

zbber 发表于 2016-10-13 16:37:19

裸跑的时候,可以用st的系统时钟

anywill 发表于 2016-10-13 20:16:12

本帖最后由 anywill 于 2016-10-13 20:34 编辑

补充,中断省事,不过mbed最简单易懂 一句wait();就行
或者period();
页: 1 [2]
查看完整版本: 关于延时的实现