一种嵌入式软件计数定时方法、装置、电子设备和介质与流程

文档序号:26003797发布日期:2021-07-23 21:21阅读:118来源:国知局
一种嵌入式软件计数定时方法、装置、电子设备和介质与流程

本申请涉及嵌入式软件计数定时技术领域,特别涉及一种嵌入式软件计数定时方法、装置、电子设备和计算机可读存储介质。



背景技术:

目前嵌入式软件经常有功能需要时间、时序要求。软件中往往针对这些功能要求使用计数变量来管理,每个时间时序功能要求一个计数变量,通过定时器或者有计时功能的函数周期性让计数变量自增、自减,当自增或自减的次数达到需要计算的时间的次数时,认为已经达到需要的时间,可以进行相关功能处理。

相关技术中每个时间时序功能即计时功能均需要对应一个计数变量,计时功能越多,所需的计数变量也越多,还有各个计时功能的定时周期不同,比较条件也不同,软件逻辑占用的系统空间资源较大,产品的可移植性差,每个计时功能由不同的人负责,变更维护成本高,代码可读性差。



技术实现要素:

本申请的目的是提供一种嵌入式软件计数定时方法,能够有效减小软件逻辑资源的占用,降低了变更维护成本,提高了产品的可移植性。其具体方案如下:

第一方面,本申请公开了一种嵌入式软件计数定时方法,包括:

当获取到各个定时功能信息后,将定时器的计时变量作为各个所述定时功能信息的内部定时变量,并启动所述定时器;

判断所述计时变量的变化次数是否达到预设次数;所述预设次数根据所述定时功能信息确定;

若是,则触发执行达到所述预设次数的定时功能信息对应任务的操作;

若否,则控制所述计时变量继续执行自增或自减操作。

可选的,在启动所述定时器之前,还包括:

当所述定时器的计时变量达到指定最大值后,设置所述计时变量对应周期变化的初始值为1。

可选的,在将定时器的计时变量作为各个所述定时功能信息的内部定时变量,并启动所述定时器之前,还包括:

判断所述定时功能信息中的定时需求个数是否小于预设阈值;

若是,则执行所述将定时器的计时变量作为各个所述定时功能信息的内部定时变量,并启动所述定时器的步骤;

若否,则不执行所述将定时器的计时变量作为各个所述定时功能信息的内部定时变量,并启动所述定时器的步骤。

可选的,在将定时器的计时变量作为各个所述定时功能信息的内部定时变量之前,还包括:

根据所述定时功能信息,设置单位时间内所述定时器的计时变量的变化次数。

第二方面,本申请公开了一种嵌入式软件计数定时装置,包括:

启动模块,用于当获取到各个定时功能信息后,将定时器的计时变量作为各个所述定时功能信息的内部定时变量,并启动所述定时器;

第一判断模块,用于判断所述计时变量的变化次数是否达到预设次数;所述预设次数根据所述定时功能信息确定;

触发模块,用于若是,则触发执行达到所述预设次数的定时功能信息对应任务的操作;

控制模块,用于若否,则控制所述计时变量继续执行自增或自减操作。

可选的,还包括:

第一设置模块,用于当所述定时器的计时变量达到指定最大值后,设置所述计时变量对应周期变化的初始值为1。

可选的,还包括:

第二判断模块,用于判断所述定时功能信息中的定时需求个数是否小于预设阈值。

可选的,在将定时器的计时变量作为各个所述定时功能信息的内部定时变量之前,还包括:

第二设置模块,用于根据所述用户的定时功能信息,设置单位时间内所述定时器的计时变量的变化次数。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述嵌入式软件计数定时方法的步骤。

第四方面,本申请公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述嵌入式软件计数定时方法的步骤。

本申请提供一种嵌入式软件计数定时方法,包括:当获取到各个定时功能信息后,将定时器的计时变量作为各个所述定时功能信息的内部定时变量,并启动所述定时器;判断所述计时变量的变化次数是否达到预设次数;所述预设次数根据所述定时功能信息确定;若是,则触发执行达到所述预设次数的定时功能信息对应任务的操作;若否,则控制所述计时变量继续执行自增或自减操作。

可见,本申请通过将定时器的计时变量作为各个定时功能信息的内部定时变量,仅利用一个计数变量代替各个定时功能信息对应的计数变量来实现各个计时功能,且统一计时比较条件,有效减小软件逻辑资源的占用,避免了相关技术中由于每个计时功能需求均需要一个计时变量,且由于各个计时功能的判断条件不同,导致软件逻辑占用系统空间较大的缺陷,降低了变更维护成本,提高了产品的可移植性。本申请同时还提供了一种嵌入式软件计数定时装置、一种电子设备和计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种嵌入式软件计数定时方法的流程图;

图2为本申请实施例所提供的计时变量数值(计时变量)与时间的关系示意图;

图3为本申请实施例提供的一种嵌入式软件计数定时装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前嵌入式软件中每个计时功能的计数变量都需要有自增、自减逻辑,都得实时针对这些计数变量进行检查是否达到时间,这些软件逻辑都需要分配rom、ram空间,浪费系统资源。基于上述技术问题,本实施例提供一种嵌入式软件计数定时方法,能够减小软件逻辑资源的占用降低了变更维护成本,提高了产品的可移植性,具体请参考图1,图1为本申请实施例所提供的一种嵌入式软件计数定时方法的流程图,具体包括:

s101、当获取到各个定时功能信息后,将定时器的计时变量作为各个定时功能信息的内部定时变量,并启动定时器。

本实施例并不限定定时功能信息的具体内容,可以包括定时功能的数量,可以包括各个定时功能对应的定时周期,还可以包括各个定时功能的初始计数变量值。本实施例中当获取到各个定时功能信息后,将定时器的计时变量作为其他各个定时功信息的内部定时变量,也就是说其他各个定时功能不使用自身的内部定时变量,共同使用一个计时变量,可统一计时比较条件,均使用定时器的计数变量,计数频率统一,也能够减少内存资源的占用。

在一种具体的实施例中,为了使用户清晰的了解定时器当前状态,在启动定时器之前,还可以包括:

当定时器的计时变量达到指定最大值后,设置计时变量对应周期变化的初始值为1。

即,本实施例中将定时器的计时变量周期变化的初始值设置为1。可以理解的是,当计时变量为0时可理解为定期器未开启,因此当计时变量达到最大值后,周期变化初始值从1开始继续计数。可以使用户清晰的了解定时器当前状态,避免当计时变量变为0时,误认为定时器处于关闭状态。

在一种具体的实施例中,为了能够提高计时成功率,在将定时器的计时变量作为各个定时功能信息的内部定时变量,并启动定时器之前,还可以包括:

判断定时功能信息中的定时需求个数是否小于预设阈值;

若是,则执行将定时器的计时变量作为各个定时功能信息的内部定时变量,并启动定时器的步骤;

若否,则不执行将定时器的计时变量作为各个定时功能信息的内部定时变量,并启动定时器的步骤。

本实施例中通过判断定时功能信息中的定时需求个数是否大于预设阈值,当小于等于时,则执行将定时器的计时变量作为定时功能信息的内部定时变量,并启动定时器的步骤;当大于时,不执行将定时器的计时变量作为定时功能信息的内部定时变量,并启动定时器的步骤。本实施例并不限定预设阈值的具体个数,可以是3个,可以是4个。可以理解的是,若定时需求个数超过预设阈值时,控制器所需要控制的判断比较逻辑规则就越多,因此,当大于预设阈值时,各个定时功能并不能全部执行成功。因此,通过判断定时功能信息中的定时需求个数是否大于预设阈值,能够提高计时成功率。

可以理解的是,本实施例并不限定定时器单位时间与计时变量的对应关系,可以是每10ms计时变量变化1次,可以是每1ms计时变量变化1次。在一种具体的实施例中,为了使软件逻辑更易受控制,维护更方便,在将定时器的计时变量作为各个定时功能信息的内部定时变量之前,还可以包括:

根据定时功能信息,设置单位时间内定时器的计时变量的变化次数。

即,本实施例中根据定时功能信息来设置单位时间内定时器的计时变量的变化次数。可以理解的是,若定时功能信息中的定时周期是2000ms,那么可设置每10ms计时变量变化1次,与每1ms计时变量变化1次相比较,能够减少计时变量的变化次数,软件逻辑更易控制,维护更方便。

s102、判断计时变量的变化次数是否达到预设次数;预设次数根据定时功能信息确定。

本实施例中的预设次数是根据定时功能信息确定的。具体的,可以是根据定时功能信息中的定时周期,以及单位时间内计时变量的变化次数来确定。例如,当定时周期为2000ms,每10ms计时变量变化1次,那么对应的预设次数即为200。可以理解的是,计时变量与定时的时间相对应,计时变量变化时,时间也在变化。因此,当计时变量的变化次数达到预设次数时,说明定时周期即定时时间到达。本实施例中通过判断计时变量的变化次数是否达到预设次数,当大于时,执行步骤s103,否则,执行步骤s104。

s103、若是,则触发执行达到预设次数的定时功能信息对应任务的操作。

即,当计时变量的变化次数达到预设次数时,触发执行达到预设次数的定时功能信息对应任务的操作,也就是定时时间到,需要执行相应的任务。

s104、若否,则控制计时变量继续执行自增或自减操作。

当计时变量的变化次数未达到预设次数时,说明还不到定时时间,需要继续计数定时即执行自增或自减操作。

基于上述技术方案,本实施例通过将定时器的计时变量作为各个定时功能信息的内部定时变量,仅利用一个计数变量代替各个定时功能信息对应的计数变量来实现各个计时功能,且统一计时比较条件,有效减小软件逻辑资源的占用,降低了变更维护成本,提高了产品的可移植性。

以下为本实施例提供的一种具体的嵌入式软件,包含定时器计时功能,主要包括两个模块:计时变量管理模块和计时变量比较模块。

(1)计时变量管理模块。

当嵌入式软件启动定时器功能时,程序将周期性使计时变量自增,当计时变量达到最大值(65535)后,再次变化时设置计时变量周期变化的初始值为1。

(2)计时变量比较模块。

本实施例中将定时器的计时变量赋值给三个内部定时变量,图2为本实施例所提供的计时变量数值(计时变量)与时间的关系示意图。当程序功能启动定时器功能时,将计时变量的数值赋值给内部定时变量(内部定时变量为timer1、timer2、timer3),该内部定时变量即为各个定时功能信息所对应的计时变量。该定时器设置为每10毫秒,计时变量加1。

假设timer1的定时时间为2000ms,由于计时变量每10毫秒数据加1,当计时变量数值大于10200时,即为timer1定时时间到;程序可以周期判断若计时变量减timer1大于200时,则定时时间到。

timer2定时时间600000ms,由于计时变量每10毫秒数据加1,当计时变量数值变化60000次后,即为timer2定时时间到,由于初始时timer2的数值为30000,在变化35535次后,再次变化计数变量的数值会变为1,所以变化60000次后,计时器的数值为24464,程序可以周期判断若计时变量小于timer2时,将判断计时变量加65536减timer2大于30000时,认为定时时间到。

基于上述实施例,本申请仅使用一个计数变量,统一计时比较条件,仅需要较少的控制器资源,能够提高代码可读性和可移植性,节约了前期开发成本和后期维护成本。

下面对本申请实施例提供的一种嵌入式软件计数定时装置进行介绍,下文描述的嵌入式软件计数定时装置与上文描述的嵌入式软件计数定时方法可相互对应参照,相关模块均设置于中,参考图3,图3为本申请实施例所提供的一种嵌入式软件计数定时装置的结构示意图,包括:

在一些具体的实施例中,具体包括:

启动模块301,用于当获取到各个定时功能信息后,将定时器的计时变量作为各个定时功能信息的内部定时变量,并启动定时器;

第一判断模块302,用于判断计时变量的变化次数是否达到预设次数;预设次数根据定时功能信息确定;

触发模块303,用于若是,则触发执行达到预设次数的定时功能信息对应任务的操作;

控制模块304,用于若否,则控制计时变量继续执行自增或自减操作。

在一些具体的实施例中,还包括:

第一设置模块,用于当定时器的计时变量达到指定最大值后,设置计时变量对应周期变化的初始值为1。

在一些具体的实施例中,还包括:

第二判断模块,用于判断定时功能信息中的定时需求个数是否小于预设阈值。

在一些具体的实施例中,还包括:

第二设置模块,用于根据用户的定时功能信息,设置单位时间内定时器的计时变量的变化次数。

由于嵌入式软件计数定时装置部分的实施例与嵌入式软件计数定时方法部分的实施例相互对应,因此嵌入式软件计数定时装置部分的实施例请参见嵌入式软件计数定时方法部分的实施例的描述,这里暂不赘述。

下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的嵌入式软件计数定时方法可相互对应参照。

本申请还公开一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述嵌入式软件计数定时方法的步骤。

由于电子设备部分的实施例与嵌入式软件计数定时方法部分的实施例相互对应,因此电子设备部分的实施例请参见嵌入式软件计数定时方法部分的实施例的描述,这里暂不赘述。

下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的嵌入式软件计数定时方法可相互对应参照。

本申请还公开一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述嵌入式软件计数定时方法的步骤。

由于计算机可读存储介质部分的实施例与嵌入式软件计数定时方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见嵌入式软件计数定时方法部分的实施例的描述,这里暂不赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种嵌入式软件计数定时方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1