短的时间用延时,比如对某些慢速IO操作时,需要延时几个时钟,就只能用延时,加几个NOP,
长的时间用定时,除上面之外的,都应该用定时实现。
另外,定时用好了,可以实现很多功能呢,
举个例子,
分别有A,B两个任务需要定时运行,每1mS运行一次,每次运行0.1mS到0.2mS,要求定时精度0.01mS。
这样的话,如果做一个1mS的定时器,先运行A,接着再运行B,就会造成B的启动时刻不准,有相位抖动。如果将B提到前面,则任务A就会有抖动。
那么实际的方法,可以做一个0.5mS的定时器,奇数次调用A,偶数次调用B,这样两个任务的定时间隔和精度都能保证了。
如果有更多个任务,定时间隔要求不同,也可以合理安排。只要处理器能力满足,即可都满足。
|