发明名称 一种嵌入式系统定时器的管理方法
摘要 本发明公开了嵌入式系统定时器管理技术领域中的一种嵌入式系统定时器的管理方法。其技术方案是,创建一个管理定时器的双向链表;定时器的最小粒度为1个TICK;在链表中注册定时器;在每一个TICK到时的时候,从链表的头部开始检查定时器的超时情况,直到第一个未超时的定时器;将所有超时的定时器从双向链表中注销;对于注销的定时器,根据其注册状态,分别向注册模块发送消息或进行函数回调;对于周期性定时器,超时后自动再注册到链表中,否则释放定时器。由于采用双向链表进行管理,定时器在注册时申请内存,注销时释放内存,内存开销由当前的定时器数目来决定,有效节约了系统内存。
申请公布号 CN101359294B 申请公布日期 2011.05.18
申请号 CN200810223929.5 申请日期 2008.10.09
申请人 北京佳讯飞鸿电气股份有限公司 发明人 隋平礼;单洪政
分类号 G06F9/48(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 童晓林
主权项 一种嵌入式系统定时器的管理方法,其特征是所述方法包括下列步骤:步骤1:创建一个管理定时器的双向链表;在双向链表中,定时器的管理方式包括在链表中注册定时器、在链表中注销定时器和在链表中修改定时器;定时器的最小粒度为1个Tick;步骤2:当使用模块需要定时器时,在链表中注册一个定时器;步骤3:在一个Tick到时的时候,从链表的头部开始检查定时器的超时情况,直到第一个未超时的定时器;步骤4:将所有超时的定时器从双向链表中注销,加入到超时队列中;步骤5:对超时队列中的定时器进行处理,根据定时器的注册状态,分别向注册模块发送消息或进行函数回调;步骤6:对于周期性定时器,超时后自动再注册到链表中,否则释放定时器;然后回到步骤3,在下一个Tick重复步骤3至步骤6。
地址 100044 北京市海淀区交大东路31号电子楼四层北京佳讯飞鸿电气股份有限公司