应用中如果目标系统ROM较小,且系统中启用的定时器少,则用静态数组法;若目标系统ROM较大,且系统中用到的定时器较多,则用delta列表法。
3 应用
针对前述的嵌入式系统中的定时需求,利用定时器管理系统给出其实现代码。
假定“特定操作”为voiDSPecFunc(void),“特定时间段”长度为10分钟。
(1)在经历特定的时间段后,执行特定操作。
#include″clk.h″
#include″wdLib.h″
voiDMAin(void){
WDOG_IDwdId;
constructClk();constructWDOG();
wdId=wdCreate();
wdStart(wdId,10*ONE_MINUTE,specFunc);
while(1);
}
(2)以给定周期周期性地执行特定操作。
基于前者,只需在voidspecFunc(void)函数体的最后加入下述代码即可:
wdStart(wdId,10*ONE_MINUTE,specFunc);
注:该给定周期为10分钟。
由于本时钟管理器只需一个硬件定时器的支持,所以其具有广泛的适用性。使用时,只需进行简单的配置,即可为裸露的目标系统加以简单的软件抽象层。其友好的用户接口有效降低了嵌入式系统的开发难度,提高了目标系统的可靠性。笔者已在实际项目中多次使用了该时钟管理器。基于该时钟管理器的目标系统运行稳定、可靠,从而充分说明该时钟管理器设计的实用性和科学性。
本文关键字:嵌入式 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术
上一篇:状态机“毛刺”的产生及消除方法