一种通用动态延时消抖方法、装置、终端及存储介质

文档序号:365283 发布日期:2021-12-07 浏览:27次 >En<

阅读说明:本技术 一种通用动态延时消抖方法、装置、终端及存储介质 (Universal dynamic delay jitter elimination method, device, terminal and storage medium ) 是由 崔文萁 郭月俊 于 2021-07-29 设计创作,主要内容包括:本发明公开一种通用动态延时消抖方法、装置、终端及存储介质,检测操作是否为假操作;当检测到假操作时,记录假操作次数;根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。(The invention discloses a universal dynamic delay jitter elimination method, a universal dynamic delay jitter elimination device, a universal dynamic delay jitter elimination terminal and a universal dynamic delay jitter elimination storage medium, wherein whether the operation is false operation is detected; when the false operation is detected, recording the number of false operations; and adjusting the jitter elimination delay time of the next operation according to the recorded false operation times, and performing jitter elimination processing based on the adjusted jitter elimination delay time during the next operation. The method can adjust the jitter elimination delay time according to the number of false operations, so that the jitter elimination delay time is more reasonable, the judgment for multiple times is avoided, and the judgment accuracy is ensured; meanwhile, one shake elimination module can be used to adapt to different application scenes, and the workload of developers is reduced.)

一种通用动态延时消抖方法、装置、终端及存储介质

技术领域

本发明涉及延时消抖领域,具体涉及一种通用动态延时消抖方法、装置、终端及存储介质。

背景技术

消抖通常用于机械弹性开关或热插拔连接器,机械开关在断开、闭合,或连接器进行插拔动作时,由于人为操作的不稳定性,以及机械弹性开关/连接器触点不稳定性,信号的状态在平稳之前,会有一段时间系统无法有效判断信号高/低电平状态,即亚稳态。以连接器为例,当连接器插入连接时,信号不会立即稳定,在插入的一瞬间会伴随有一连串的抖动,这种抖动会导致系统对信号状态的误判。为了避免这种情况,即正确识别机械弹性开关及连接器的插拔动作,就必须对信号的抖动进行处理。

现通常使用状态机来完成消抖,当检测到“新状态”与“旧状态”不同时,进行状态转移并延时,延时后再对“新状态”进行检测,若状态仍未改变,则确定该状态变化为有效变化,将“旧状态”赋值为“新状态”并输出给系统。

以按键操作为例:可将按键操作分为4个状态,按键按下动作S0、有键按下S1、稳定按下S2、按键释放动作S3。假定键按下时电平为0,未按下时为1。按键初始状态S0,表示没有键按下,保持S0;当有键按下,转入状态S1。

首先,按键的初始态为S0,当检测到输入为1时,表示没有键按下,保持S0。当按键输入为0时,则有键按下,经延时时间后若检测到输入仍为0则转入状态S1;转入状态S1之后再经过延时时间后输入仍为0,继续转入S2;同样的,转入状态S2之后再经过延时时间后输入仍为0,转入S3,即表示确实有键按下,可以将此消息传递给系统。在此过程中,任一状态检测到输入为1,表示刚才按键操作为干扰,并不是真正有按键操作,状态切换回S0。在S3状态,检测到输入为高,即有按键释放操作,状态切换回S0。

在S1-S3的状态转移过程中,每一个状态都需要进行延时处理,消抖的延时处理一般要10ms或20ms。延时长短的选择非常重要,如果延时时间过短,会导致状态机需要进行多次判断;如果延时过长,会导致判断效率低下。然而,一方面目前延时时间一般靠经验确定,另一方面不同的应用场景有不同的消抖需求,相应地状态机要对每种应用场景配置一消抖模块,增加开发人员的工作负担。

发明内容

为解决上述问题,本发明提供一种通用动态延时消抖方法、装置、终端及存储介质,可动态调整每次操作的消抖延时时间,使用一个消抖模块即可适用于多种应用场景。

第一方面,本发明提供一种通用动态延时消抖方法,包括以下步骤:

检测操作是否为假操作;

当检测到假操作时,记录假操作次数;

根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。

进一步地,根据所记录假操作次数调整下一次操作的消抖延时时间,具体为通过以下公式计算下一次操作的消抖延时时间:

delayn+1=delayn+ delayn*delaycounter/N;

其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

进一步地,该方法还包括以下步骤:

在检测到假操作之后,当检测到一次正常操作时,所记录假操作次数清零。

进一步地,该方法还包括以下步骤:

所记录假操作次数清零时,将下一次操作的消抖延时时间置为初始消抖延时时间。

第二方面,本发明的技术方案提供一种通用动态延时消抖装置,包括,

操作检测单元:检测操作是否为假操作;

假操作次数记录单元:当检测到假操作时,记录假操作次数;

消抖延时时间调整单元:根据所记录假操作次数调整下一次操作的消抖延时时间。

进一步地,消抖延时时间调整单元根据所记录假操作次数调整下一次操作的消抖延时时间,具体为通过以下公式计算下一次操作的消抖延时时间:

delayn+1=delayn+ delayn*delaycounter/N;

其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

进一步地,该装置还包括,

记录假操作次数清零单元:在检测到假操作之后,当检测到一次正常操作时,所记录假操作次数清零。

进一步地,消抖延时时间调整单元还用于在所记录假操作次数清零时,将下一次操作的消抖延时时间置为初始消抖延时时间。

第三方面,本发明的技术方案提供一种终端,包括:

存储器,用于存储通用动态延时消抖程序;

处理器,用于执行所述通用动态延时消抖程序时实现如上述任一项所述通用动态延时消抖方法的步骤。

第四方面,本发明的技术方案提供一种可读存储介质,所述可读存储介质上存储有通用动态延时消抖程序,所述通用动态延时消抖程序被处理器执行时实现如上述任一项所述通用动态延时消抖方法的步骤。

本发明提供的一种通用动态延时消抖方法、装置、终端及存储介质,相对于现有技术,具有以下有益效果:在检测到假操作时记录假操作次数,根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

附图说明

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

图1为本发明实施例一提供的一种通用动态延时消抖方法流程示意图;

图2为本发明实施例二提供的一种通用动态延时消抖方法流程示意图;

图3为本发明实施例三提供的一种通用动态延时消抖方法流程示意图;

图4为本发明实施例四提供的一种通用动态延时消抖装置结构示意框图;

图5为本发明实施例六提供的一种通用动态延时消抖装置结构示意框图;

图6为本发明实施例七提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

在机械弹性开关或热插拔连接器等需要消抖的场景,现通常使用状态机来完成消抖,当检测到“新状态”与“旧状态”不同时,进行状态转移并延时,延时后再对“新状态”进行检测,若状态仍未改变,则确定该状态变化为有效变化,将“旧状态”赋值为“新状态”并输出给系统。

以按键操作为例:可将按键操作分为4个状态,按键按下动作S0、有键按下S1、稳定按下S2、按键释放动作S3。假定键按下时电平为0,未按下时为1。按键初始状态S0,表示没有键按下,保持S0;当有键按下,转入状态S1。

首先,按键的初始态为S0,当检测到输入为1时,表示没有键按下,保持S0。当按键输入为0时,则有键按下,经延时时间后若检测到输入仍为0则转入状态S1;转入状态S1之后再经过延时时间后输入仍为0,继续转入S2;同样的,转入状态S2之后再经过延时时间后输入仍为0,转入S3,即表示确实有键按下,可以将此消息传递给系统。在此过程中,任一状态检测到输入为1,表示刚才按键操作为干扰,并不是真正有按键操作,状态切换回S0。在S3状态,检测到输入为高,即有按键释放操作,状态切换回S0。

在S1-S3的状态转移过程中,每一个状态都需要进行延时处理,消抖的延时处理一般要10ms或20ms。延时长短的选择非常重要,如果延时时间过短,会导致状态机需要进行多次判断;如果延时过长,会导致判断效率低下。然而,一方面目前延时时间一般靠经验确定,另一方面不同的应用场景有不同的消抖需求,相应地状态机要对每种应用场景配置一消抖模块,增加开发人员的工作负担。

因此,本实施例提供一种通用动态延时消抖方法,可动态调整每次操作的消抖延时时间,使用一个消抖模块即可适用于多种应用场景。

如图1所示为本实施例提供的一种通用动态延时消抖方法流程示意图,包括以下步骤。

S101,检测操作是否为假操作。

即检测操作是干扰操作还是正常操作,干扰操作即假操作,以按键操作为例,在状态S1之后经延时时间检测到输入变为1,则该次操作为干扰操作,即假操作。若状态转入S3,则该次操作为正常操作。

S102,当检测到假操作时,记录假操作次数。

需要说明的是,所记录的假操作次数为累加次数。例如第一次操作为假操作,则记录假操作次数为1,第二次操作仍为假操作,则记录假操作次数加1,即假操作次数为2。

S103,根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。

若遇到假操作则适时调整下一次操作的消抖延时时间,提高下一次判断的准确性,避免误检。

本实施例提供的一种通用动态延时消抖方法,在检测到假操作时记录假操作次数,根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

实施例二

考虑到某次检测到假操作之后,下一次仍然出现假操作的概率仍然较大,因此本实施例根据所记录假操作次数调整下一次操作的消抖延时时间,所调整后的消抖延时时间将调整前延长。

具体地,通过以下公式计算下一次操作的消抖延时时间:

delayn+1=delayn+ delayn*delaycounter/N

其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

以按键操作为例,共经过S0、S1、S2、S3四个状态,因此在按键操作过程中,上式中N为4。当然,在其他场景,根据具体操作过程经历的状态数调整N的取值。

需要说明的是,在检测前需要预先设定一个消抖延时时间初始值,即第一次操作的消抖延时时间delay1

仍然以按键操作为例,假如第一次操作为假操作,则记录假操作次数为1,进而计算第二次操作的消抖延时时间delay2=delay1+ delay1*1/4。若第二次操作仍为假操作,则记录假操作次数为2,进而计算第三次操作的消抖延时时间delay3=delay2+ delay2*2/4。

如图2所示为本实施例提供的一种通用动态延时消抖方法流程示意图,包括以下步骤。

S201,检测操作是否为假操作。

S202,当检测到假操作时,记录假操作次数。

S203,根据公式delayn+1=delayn+ delayn*delaycounter/N计算下一次操作的消抖延时时间。

本实施例提供的一种通用动态延时消抖方法,在检测到假操作时记录假操作次数,根据所记录假操作次数基于公式delayn+1=delayn+ delayn*delaycounter/N调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

实施例三

在检测到正常操作之后,下一次为正常操作的概率较大,因此在检测到正常操作后及时将所记录的假操作次数清零,相应的调整下一次操作的消抖延时时间置为初始消抖延时时间,即重新进行假操作次数的记录和消抖延时时间的调整。

如图3所示为本实施例提供的一种通用动态延时消抖方法流程示意图,包括以下步骤。

S301,检测操作是否为假操作。

S302,当检测到假操作时,记录假操作次数。

S303,根据公式delayn+1=delayn+ delayn*delaycounter/N计算下一次操作的消抖延时时间。

其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

S304,在检测到假操作之后,当检测到一次正常操作时,所记录假操作次数清零。

S305,所记录假操作次数清零时,将下一次操作的消抖延时时间置为初始消抖延时时间。

需要说明的是,除了在所记录假操作次数清零时,即从上一次的假操作变为该次的正常操作时,将下一次操作的消抖延时时间置为初始消抖延时时间,其他情况下均根据公式delayn+1=delayn+ delayn*delaycounter/N计算下一次操作的消抖延时时间。

本实施例提供的一种通用动态延时消抖方法,在检测到假操作时记录假操作次数,根据所记录假操作次数基于公式delayn+1=delayn+ delayn*delaycounter/N调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。另外,在由假操作转变为正常操作之后,及时将所记录假操作次数清零,并将下一次操作的消抖延时时间置为初始消抖延时时间,以提高状态检测效率。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

实施例四

为解决目前延时时间一般靠经验确定,且不同的应用场景有不同的消抖需求,相应地状态机要对每种应用场景配置一消抖模块,增加开发人员的工作负担的问题,本实施例提供一种通用动态延时消抖装置,可动态调整每次操作的消抖延时时间,使用一个消抖模块即可适用于多种应用场景。

如图4所示为本实施例提供的一种通用动态延时消抖装置结构示意框图,包括以下功能单元。

操作检测单元101:检测操作是否为假操作。

即检测操作是干扰操作还是正常操作,干扰操作即假操作,以按键操作为例,在状态S1之后经延时时间检测到输入变为1,则该次操作为干扰操作,即假操作。若状态转入S3,则该次操作为正常操作。

假操作次数记录单元102:当检测到假操作时,记录假操作次数。

需要说明的是,所记录的假操作次数为累加次数。例如第一次操作为假操作,则记录假操作次数为1,第二次操作仍为假操作,则记录假操作次数加1,即假操作次数为2。

消抖延时时间调整单元103:根据所记录假操作次数调整下一次操作的消抖延时时间。

需要说明的是,在下一次操作时基于调整后的消抖延时时间进行消抖处理。遇到假操作则适时调整下一次操作的消抖延时时间,提高下一次判断的准确性,避免误检。

本实施例提供的一种通用动态延时消抖装置,在检测到假操作时记录假操作次数,根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

实施例五

如图4所示为本实施例提供的一种通用动态延时消抖装置结构示意框图,包括以下功能单元。

操作检测单元101:检测操作是否为假操作。

假操作次数记录单元102:当检测到假操作时,记录假操作次数。

消抖延时时间调整单元103:根据所记录假操作次数调整下一次操作的消抖延时时间。

考虑到某次检测到假操作之后,下一次仍然出现假操作的概率仍然较大,因此本实施例根据所记录假操作次数调整下一次操作的消抖延时时间,所调整后的消抖延时时间将调整前延长。

具体地,消抖延时时间调整单元103通过以下公式计算下一次操作的消抖延时时间:

delayn+1=delayn+ delayn*delaycounter/N

其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

以按键操作为例,共经过S0、S1、S2、S3四个状态,因此在按键操作过程中,上式中N为4。当然,在其他场景,根据具体操作过程经历的状态数调整N的取值。

需要说明的是,在检测前需要预先设定一个消抖延时时间初始值,即第一次操作的消抖延时时间delay1

仍然以按键操作为例,假如第一次操作为假操作,则记录假操作次数为1,进而计算第二次操作的消抖延时时间delay2=delay1+ delay1*1/4。若第二次操作仍为假操作,则记录假操作次数为2,进而计算第三次操作的消抖延时时间delay3=delay2+ delay2*2/4。

本实施例提供的一种通用动态延时消抖装置,在检测到假操作时记录假操作次数,根据所记录假操作次数基于公式delayn+1=delayn+ delayn*delaycounter/N调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

实施例六

在检测到正常操作之后,下一次为正常操作的概率较大,因此在检测到正常操作后及时将所记录的假操作次数清零,相应的调整下一次操作的消抖延时时间置为初始消抖延时时间,即重新进行假操作次数的记录和消抖延时时间的调整。

如图5所示为本实施例提供的一种通用动态延时消抖装置结构示意框图,包括以下功能单元。

操作检测单元101:检测操作是否为假操作。

假操作次数记录单元102:当检测到假操作时,记录假操作次数。

消抖延时时间调整单元103:根据所记录假操作次数调整下一次操作的消抖延时时间。

记录假操作次数清零单元104:在检测到假操作之后,当检测到一次正常操作时,所记录假操作次数清零。

其中,消抖延时时间调整单元103通过以下公式计算下一次操作的消抖延时时间:

delayn+1=delayn+ delayn*delaycounter/N

其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

另外,消抖延时时间调整单元103还用于在所记录假操作次数清零时,将下一次操作的消抖延时时间置为初始消抖延时时间。

需要说明的是,除了在所记录假操作次数清零时,即从上一次的假操作变为该次的正常操作时,将下一次操作的消抖延时时间置为初始消抖延时时间,其他情况下均根据公式delayn+1=delayn+ delayn*delaycounter/N计算下一次操作的消抖延时时间。

本实施例提供的一种通用动态延时消抖装置,在检测到假操作时记录假操作次数,根据所记录假操作次数基于公式delayn+1=delayn+ delayn*delaycounter/N调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。另外,在由假操作转变为正常操作之后,及时将所记录假操作次数清零,并将下一次操作的消抖延时时间置为初始消抖延时时间,以提高状态检测效率。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

实施例七

图6为本发明实施例提供的一种终端装置600的结构示意图,包括:处理器610、存储器620及通信单元630。所述处理器610用于实现存储器620中保存的通用动态延时消抖程序时实现以下步骤:

检测操作是否为假操作;

当检测到假操作时,记录假操作次数;

根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。

本发明的通用动态延时消抖方法,在检测到假操作时记录假操作次数,根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

在一些具体实施例中,所述处理器610执行存储器620中保存的通用动态延时消抖子程序时,具体可以实现:通过以下公式计算下一次操作的消抖延时时间:delayn+1=delayn+ delayn*delaycounter/N;其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

在一些具体实施例中,所述处理器610执行存储器620中保存的通用动态延时消抖子程序时,具体可以实现:在检测到假操作之后,当检测到一次正常操作时,所记录假操作次数清零。

在一些具体实施例中,所述处理器610执行存储器620中保存的通用动态延时消抖子程序时,具体可以实现:所记录假操作次数清零时,将下一次操作的消抖延时时间置为初始消抖延时时间。

其中,该终端装置600可以包括:处理器610、存储器620及通信单元630。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器620可以用于存储处理器610的执行指令,存储器620可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器620中的执行指令由处理器610执行时,使得终端600能够执行以下上述方法实施例中的部分或全部步骤。

处理器610为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器620内的软件程序和/或单元,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器610可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元630,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

实施例八

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

计算机存储介质存储有通用动态延时消抖程序,所述通用动态延时消抖程序被处理器执行时实现以下步骤:

检测操作是否为假操作;

当检测到假操作时,记录假操作次数;

根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。

本发明的通用动态延时消抖方法,在检测到假操作时记录假操作次数,根据所记录假操作次数调整下一次操作的消抖延时时间,在下一次操作时基于调整后的消抖延时时间进行消抖处理。本发明可根据假操作次数调整消抖延时时间,使消抖延时时间更加合理,避免进行过多次的判断,且保证判断准确性;同时可使用一个消抖模块适应不同的应用场景,降低开发人员的工作负担。

在一些具体实施例中,所述可读存储介质中存储的通用动态延时消抖子程序时,具体可以实现:通过以下公式计算下一次操作的消抖延时时间:delayn+1=delayn+ delayn*delaycounter/N;其中,delayn为第n次操作的消抖延时时间,delayn+1为第n+1次操作的消抖延时时间,delaycounter为所记录假操作次数,N为操作过程经历的状态数。

在一些具体实施例中,所述可读存储介质中存储的通用动态延时消抖子程序时,具体可以实现:在检测到假操作之后,当检测到一次正常操作时,所记录假操作次数清零。

在一些具体实施例中,所述可读存储介质中存储的通用动态延时消抖子程序时,具体可以实现:所记录假操作次数清零时,将下一次操作的消抖延时时间置为初始消抖延时时间。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:带反馈校正的按键信号消抖方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!