一种嵌入式软件定时器管理方法及系统技术方案

技术编号:19821153 阅读:71 留言:0更新日期:2018-12-19 14:28
本发明专利技术公开了一种嵌入式软件定时器管理方法及系统,软件定时器管理的设计基于静态数组法,使用一个定时器节点数组来保存所有的定时请求,每一个定时器节点都有一个状态项,表示该定时器正处于空闲、使用或溢出状态。定时器的定时值和定时器超时后要发送的消息也存储在定时器节点中,从而实现用一个硬件定时器为用户提供多个软件定时器,本申请以单个硬件定时器作为所有软件定时器的定时基准,硬件定时器以固定的时间间隔触发中断,中断触发时间恒定不变,不会因更新中断触发时间造成累积误差。

【技术实现步骤摘要】
一种嵌入式软件定时器管理方法及系统
本专利技术涉及嵌入式
,具体的说,是涉及一种嵌入式软件定时器管理方法及系统。
技术介绍
在嵌入式软件的设计中,时间是一个很重要的参数,很多控制逻辑和协议都有时间约束,定时是实现这些控制逻辑和协议的关键手段。在嵌入式系统中,一般而言,硬件定时器的数量少于定时应用的数量,不可能为每一个定时应用单独分配一个硬件定时器。在这种情况下,设计一种软件定时器,使用单个硬件定时器模拟多个软件定时器,来满足应用中的定时需要,成为一种比较通用的做法。中国专利技术专利:一种硬件定时器的管理方法(申请号:201410058072.1),提出了一种基于单个硬件定时器实现多个定时应用的方法,根据定时值从小到大的顺序维护定时项链表,每次加入一个新的定时项,都需要更新链表,而且需要在硬件定时器中断处理程序中不断更新硬件定时周期设置,这种方式不仅需要考虑中断处理程序执行时间对各个定时项的影响,而且很难处理加入一个定时值小于硬件定时器当前定时周期的定时项的情形。中国专利技术专利:嵌入式系统软件扩展定时器的方法(申请号:201410645245.X),定义了全局软件定时器数组,当本文档来自技高网...

【技术保护点】
1.一种嵌入式软件定时器管理方法,其特征在于,包括如下步骤:以静态分配方法为系统所有软件定时器节点分配相应的存储区域,定义软件定时器的被处理顺序;系统上电后,首先执行硬件定时器和所有软件定时器节点的初始化,然后执行以下步骤:步骤1:查询相对计时时间的值,如果相对计时时间为0,执行步骤3,否则,执行步骤2;步骤2、按照被处理顺序处理每个软件定时器,处理完软件定时器,相对计时时间置为0;步骤3、结束软件定时器的处理过程;上述步骤1‑步骤3循环执行。

【技术特征摘要】
1.一种嵌入式软件定时器管理方法,其特征在于,包括如下步骤:以静态分配方法为系统所有软件定时器节点分配相应的存储区域,定义软件定时器的被处理顺序;系统上电后,首先执行硬件定时器和所有软件定时器节点的初始化,然后执行以下步骤:步骤1:查询相对计时时间的值,如果相对计时时间为0,执行步骤3,否则,执行步骤2;步骤2、按照被处理顺序处理每个软件定时器,处理完软件定时器,相对计时时间置为0;步骤3、结束软件定时器的处理过程;上述步骤1-步骤3循环执行。2.如权利要求1所述的一种嵌入式软件定时器管理方法,其特征在于:所述相对计时时间通过硬件定时器处理方法定义:硬件定时器的处理方法具体为:设置硬件定时器的中断周期T,定义相对计时时间;系统上电就开始执行以下步骤:初始化相对计时时间为0,硬件定时器按中断周期T中断,每次硬件定时器中断,相对计时时间累加,增量为中断周期T。3.如权利要求1所述的一种嵌入式软件定时器管理方法,其特征在于:处理每个软件定时器的方法为软件定时器节点处理方法,具体为:步骤101、查询软件定时器节点是否有定时任务,如果有,确定定时值并进入下一步,否则进入105;步骤102、将软件定时器节点的计时值累加,增量为相对计时时间的数值,比较计时值和定时值,如果计时值大于或等于定时值,进入步骤103,否则进入步骤105;步骤103、查询软件定时器节点是否为循环定时器,如果是,重启本节点软件定时器,否则,定时次数减1,直到定时次数为零,停止软件定时器节点;步骤104、查询软件定时器节点是否有定时回调函数,如果有,执行定时回调函数后进入步骤105,否则直接进入步骤105;步骤105、软件定时器节点处理过程结束,本软件定时器节点处理完成。4.如权利要求1所述的一种嵌入式软件定时器管理方法,其特征在于:所述以静态分配方...

【专利技术属性】
技术研发人员:马建辉于良杰李研强车晓波
申请(专利权)人:山东省科学院自动化研究所
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1