基于按键的交互方法、电子设备以及计算机可读存储介质

文档序号:687336 发布日期:2021-04-30 浏览:6次 >En<

阅读说明:本技术 基于按键的交互方法、电子设备以及计算机可读存储介质 (Key-based interaction method, electronic device and computer-readable storage medium ) 是由 张洪治 于 2020-12-28 设计创作,主要内容包括:本发明公开了一种基于按键的交互方法、电子设备以及计算机可读存储介质,该方法包括定时监测各个按键的电平状态,将各所述电平状态对应的状态值赋值至电平变量中与各所述按键对应的电平数据位中;若至少一个电平数据位的状态值为有效电平的状态值,则开始计时;根据计时时长确定按键结果值;将按键结果值赋值至结果变量中状态值为有效电平的状态值的电平数据位对应的结果数据位中,以根据所述结果数据位中的所述按键结果值确定交互参数。本发明提高了多按键的检测和处理效率。(The invention discloses a key-based interaction method, electronic equipment and a computer-readable storage medium, wherein the method comprises the steps of regularly monitoring the level state of each key, and assigning a state value corresponding to each level state to a level data bit corresponding to each key in a level variable; if the state value of at least one level data bit is the state value of the effective level, timing is started; determining a key result value according to the timing duration; and assigning the key result value to a result data bit corresponding to a level data bit of which the state value is the state value of the effective level in the result variable, so as to determine an interactive parameter according to the key result value in the result data bit. The invention improves the detection and processing efficiency of the multiple keys.)

基于按键的交互方法、电子设备以及计算机可读存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于按键的交互方法、电子设备以及计算机可读存储介质。

背景技术

在嵌入式系统中,按键是常用的人机交互器件。按键被按下、松开,处理器会执行相应的代码。但在很多电子设备中,常常存在多个按键的情况,比如智能手表上会设置多个按键,通过按键的长按、短按以及它们的组合来控制电子设备。

现有的独立按键一般使用机械弹性开关,一端连接处理器引脚,另一端连接系统的地或高电平,嵌入式系统通过检测与按键连接的引脚电平状态来判断按键的开关状态,基于独立按键的交互方法为每个独立按键都存在对应的计时变量和状态变量来记录此独立按键的当前状态,根据独立按键状态进一步判断独立按键是长按、短按还是组合按。系统每增加一个独立按键,就需要增加对应的计时变量和状态变量,根据增加的计时变量和状态变量添加新的检测程序,当处理多个独立按键时,增加了程序运行周期,导致多个独立按键的检测和处理效率低。

发明内容

本发明的主要目的在于提供一种基于按键的交互方法、电子设备以及计算机可读存储介质,旨在解决对多按键的检测和处理效率低的问题。

为实现上述目的,本发明提供的一种基于按键的交互方法,所述基于按键的交互方法包括以下步骤:

定时监测各个按键的电平状态,将各所述电平状态对应的状态值赋值至电平变量中与各所述按键对应的电平数据位中;

若至少一个电平数据位的状态值为有效电平的状态值,则开始计时;

根据计时时长确定按键结果值;

将按键结果值赋值至结果变量中状态值为有效电平的状态值的电平数据位对应的结果数据位中,以根据所述结果数据位中的所述按键结果值确定交互参数。

在一实施例中,所述开始计时的步骤之后,还包括:若所有所述电平数据位的状态值均变为无效电平的状态值时,停止计时。

在一实施例中,所述开始计时的步骤之后包括:若所述计时时长大于消抖时长,执行所述根据计时时长确定按键结果值的步骤;若所述计时时长等于消抖时长,判断电平数据位中是否存在至少一个电平数据位的状态值为有效电平的状态值;若不存在至少一个电平数据位的状态值为有效电平的状态值,则对所述计时时长清零。

在一实施例中,所述根据计时时长确定所述按键结果值的步骤包括:比较所述计时时长以及预设时长,所述预设时长大于所述消抖时长;若所述计时时长大于或等于所述预设时长,将长按对应的结果值赋值至所述按键结果值;若所述计时时长小于所述预设时长,将短按对应的结果值赋值至所述按键结果值。

在一实施例中,所述比对所述计时时长以及预设时长的步骤之后,所述根据所述计时时长确定所述按键结果值的步骤还包括:若所述计时时长大于或等于所述预设时长,则获取所述状态值对应有效电平的状态值的电平数据位的数量;若所述数量为一个,则执行所述将长按对应的结果值赋值至所述按键结果值的步骤;若所述数量为至少两个,则将组合按对应的结果值赋值至所述按键结果值。

在一实施例中,所述比对所述计时时长以及预设时长的步骤之后,所述根据所述计时时长确定所述按键结果值的步骤包括:若所述计时时长小于所述预设时长,则获取所述状态值对应有效电平的电平数据位对应的按键的数量;若所述数量为一个,则执行所述将短按对应的结果值赋值至所述按键结果值的步骤;若所述数量为至少两个,则将按键无效对应的结果值赋值至所述按键结果值,并对所述计时时长清零。

在一实施例中,所述根据所述计时时长确定所述按键结果值的步骤包括:在所述按键的所述计时时长小于消抖时长时,对所述计时时长清零,并将按键无效对应的结果值赋值至所述按键结果值。

在一实施例中,所述基于按键的交互方法还包括:在检测到新增按键后,在所述电平变量中增加新增按键对应的电平数据位;在所述结果变量中增加新增按键对应的结果数据位。

为实现上述目的,本发明还提供一种电子设备,所述电子设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的基于按键的交互程序,所述基于按键的交互程序被所述处理器执行时实现如上所述的基于按键的交互方法的各个步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于按键的交互程序,所述基于按键的交互程序被处理器执行时实现如上所述的基于按键的交互方法的各个步骤。

本发明提供的一种基于按键的交互方法、电子设备以及计算机可读存储介质,定时监测各个按键的电平状态,将各电平状态对应的状态值赋值至电平变量中与各按键对应的电平数据位中;若至少一个电平数据位的状态值为有效电平的状态值,则开始计时;根据计时时长确定按键结果值;将按键结果值赋值至结果变量中状态值为有效电平的状态值的电平数据位对应的结果数据位中,根据结果数据位中的所述按键结果值确定交互参数。由于将按键的电平状态的状态值添加至电平数据位,将按键结果值添加至结果数据位,对多个按键进行统一检测和处理,避免了多个按键对应独立的检测程序,导致检测周期较长的情况,提高了多按键的检测和处理效率。

附图说明

图1为本发明实施例涉及的电子设备的硬件结构示意图;

图2为本发明基于按键的交互方法的第一实施例的流程示意图;

图3为本发明基于按键的交互方法的第二实施例的流程示意图;

图4为本发明基于按键的交互方法的第三实施例的步骤S30的细化流程示意图;

图5为本发明基于按键的交互方法的第四实施例的步骤S30的细化流程示意图;

图6为本发明基于按键的交互方法的第五实施例的步骤S30的细化流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:定时监测各个按键的电平状态,将各电平状态对应的状态值赋值至电平变量中与各按键对应的电平数据位中;若至少一个电平数据位的状态值为有效电平的状态值,则开始计时;根据计时时长确定按键结果值;将按键结果值赋值至结果变量中状态值为有效电平的状态值的电平数据位对应的结果数据位中,根据结果数据位中的所述按键结果值确定交互参数。

由于将按键的电平状态的状态值添加至电平数据位,将按键结果值添加至结果数据位,对多个按键进行统一检测和处理,避免了多个按键对应独立的检测程序,导致检测周期较长的情况,提高了多按键的检测和处理效率。

作为一种实现方案,电子设备可以如图1所示。

本发明实施例方案涉及的是电子设备,电子设备包括:处理器101,例如MCU,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。其中,电子设备可以是智能手表、智能手环、VR(Virtual Reality,虚拟现实技术)设备、AR(AugmentedReality,增强现实技术)设备等可穿戴设备,也可以是智能音箱、投影仪、导航等设备。

存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机可读存储介质的存储器102中可以包括基于按键的交互程序;而处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

定时监测各个按键的电平状态,将各所述电平状态对应的状态值赋值至电平变量中与各所述按键对应的电平数据位中;

若至少一个电平数据位的状态值为有效电平的状态值,则开始计时;

根据计时时长确定按键结果值;

将按键结果值赋值至结果变量中状态值为有效电平的状态值的电平数据位对应的结果数据位中,以根据所述结果数据位中的所述按键结果值确定交互参数。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

若所有所述电平数据位的状态值均变为无效电平的状态值时,停止计时。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

若所述计时时长大于消抖时长,执行所述根据计时时长确定按键结果值的步骤;

若所述计时时长等于消抖时长,判断电平数据位中是否存在至少一个电平数据位的状态值为有效电平的状态值;

若不存在至少一个电平数据位的状态值为有效电平的状态值,则对所述计时时长清零。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

比较所述计时时长以及预设时长,所述预设时长大于所述消抖时长;

若所述计时时长大于或等于所述预设时长,将长按对应的结果值赋值至所述按键结果值;

若所述计时时长小于所述预设时长,将短按对应的结果值赋值至所述按键结果值。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

若所述计时时长大于或等于所述预设时长,则获取所述状态值对应有效电平的状态值的电平数据位的数量;

若所述数量为一个,则执行所述将长按对应的结果值赋值至所述按键结果值的步骤;

若所述数量为至少两个,则将组合按对应的结果值赋值至所述按键结果值。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

若所述计时时长小于所述预设时长,则获取所述状态值对应有效电平的电平数据位对应的按键的数量;

若所述数量为一个,则执行所述将短按对应的结果值赋值至所述按键结果值的步骤;

若所述数量为至少两个,则将按键无效对应的结果值赋值至所述按键结果值,并对所述计时时长清零。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

在所述按键的所述计时时长小于消抖时长时,对所述计时时长清零,并将按键无效对应的结果值赋值至所述按键结果值。

在一实施例中,处理器101可以用于调用存储器102中存储的基于按键的交互程序,并执行以下操作:

在检测到新增按键后,在所述电平变量中增加新增按键对应的电平数据位;

在所述结果变量中增加新增按键对应的结果数据位。

基于上述电子设备的硬件构架,提出本发明基于按键的交互方法的实施例。

参照图2,图2为本发明基于按键的交互方法的第一实施例,所述基于按键的交互方法包括以下步骤:

步骤S10,定时监测各个按键的电平状态,将各所述电平状态对应的状态值赋值至电平变量中与各所述按键对应的电平数据位中。

具体的,按照预设时间间隔实时监测各个按键的电平状态,电平状态可以是有效电平和无效电平。其中,有效电平可以是高电平,无效电平可以是低电平;或者有效电平也可以是低电平,无效电平可以是高电平。按键的电平状态对应的状态值可以是数值,示例性的,有效电平对应的状态值可以是1,有效电平对应的状态值可以是0。电平变量是记录按键的电平状态的变量,电平数据位用于存放电平状态对应的状态值,将电平状态对应的状态值赋值至电平变量中按键对应的电平数据位中。

步骤S20,若至少一个电平数据位的状态值为有效电平的状态值,则开始计时。

具体的,在存在电平数据位对应的状态值对应有效电平的状态值时,表示按键被按压,为了确定按键结果,需要对按键为有效电平的时长进行计时。在电平数据位的状态值均变为无效电平对应的状态值时,停止计时。

步骤S30,根据计时时长确定按键结果值;

具体的,根据有效电平的按键对应的时长确定按键结果值。按键结果值可以用二进制表示,示例性的,无效的按键结果值为00,短按的按键结果值为01,长按的按键结果值为10,组合按的按键结果值为11。

步骤S40,将按键结果值赋值至结果变量中状态值为有效电平的状态值的电平数据位对应的结果数据位中,以根据所述结果数据位中的所述按键结果值确定交互参数。

具体的,将按键结果值赋值至结果变量中对应的结果数据位中,其中按键的电平数据位的电平变量与结果数据位中的结果变量是一一对应的。根据结果数据位中的按键结果值确定交互参数,根据交互参数调用终端设备。

可以将在程序中预先设置预设数量的按键、电平数据位以及结果数据位,在检测到新增按键后,将新增按键赋值到预先设置的按键。若未预先设置预设数量的按键,在检测到新增按键后,也可以在电平变量中增加新增按键对应的电平数据位;在结果变量中增加新增按键对应的结果数据位,根据按键的电平变量确定按键的结果值。避免了由于多个按键对应独立的检测程序,需要增加新的检测程序,成倍的增加处理器的资源开销,明显增加程序运行周期,降低系统实时性。而本申请不需要增加新的检测程序,也不需要重复执行功能类似的程序,便于按键的扩展。

在本实施例的技术方案中,定时监测各个按键的电平状态,在电平状态为有效电平时开始计时,根据电平状态和计时时长确定按键结果值。由于将按键的电平状态的状态值赋值至电平数据位,将按键结果值赋值至结果数据位,对多个按键进行统一检测和处理,避免了多个按键对应独立的检测程序,导致检测周期较长的情况,提高了多按键的检测和处理效率。

参照图3,图3为本发明基于按键的交互方法的第二实施例,基于第一实施例,所述步骤S20之后,还包括:

步骤S50,若所述计时时长大于消抖时长,执行所述根据计时时长确定按键结果值的步骤;

步骤S60,若所述计时时长等于消抖时长,判断电平数据位中是否存在至少一个电平数据位的状态值为有效电平的状态值;

步骤S70,若不存在至少一个电平数据位的状态值为有效电平的状态值,则对所述计时时长清零。

具体的,按键所用开关通常为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,因而按键在闭合及断开的瞬间均伴随有一连串的抖动。消抖时长是用于判断按键是否存在抖动,消抖时间的长短由按键的机械特性决定,一般为5ms~10ms。在按键的计时时长大于消抖时长时,需要根据计时时长确定按键结果以及按键结果值,按键结果可以是无效、长按、短按或者组合按等,对应的按键结果值可以是00、01、10以及11。在按键的计时时长小于消抖时长时,对所述计时时长清零,确定按键结果无效。在计时时长等于消抖时长时,判断按键电平变量是否存在至少一个为有效电平,若不存在,则确定按键结果无效,并将按键计时时长清零,若存在,则根据另一个按键的时长确定至少两个按键是否为组合按。其中组合按是包括至少两个按键组合的按键结果,示例性的,a键、b键以及c键中,当a键和b键对应的均为有效电平对应的状态值并且对应的计时时长大于消抖时长时,a键和b键的按键结果值为组合按。在按键的计时时长大于消抖时长时,按键结果可以是长按、短按或者组合按。在确定按键结果值后将计时时长清零,利于对下次的按键结果值的检测。

在本实施例的技术方案中,通过计时时长确定按键结果值,可以确定按键是否有效,以及在有效的情况下可以确定按键的按键结果,根据按键结果以确定不同的交互参数,实现交互功能。

参照图4,图4为本发明基于按键的交互方法的第三实施例,基于第二实施例,所述步骤S30包括:

步骤S31,比较所述计时时长以及预设时长,所述预设时长大于所述消抖时长;

步骤S32,若所述计时时长大于或等于所述预设时长,将长按对应的结果值赋值至所述按键结果值;

步骤S33,若所述计时时长小于所述预设时长,将短按对应的结果值赋值至所述按键结果值。

具体的,比较计时时长以及预设时长,预设时长用于判断按键属于长按还是短按,预设时长大于消抖时长。当计时时长大于或等于预设时长时,表示按键的按压时间有效并且较长,按键的按键结果值对应长按的按键结果。在计时时长小于预设时长时,表示按键的按压时间有效但是较短,按键的按键结果值对应短按的按键结果。

在本实施例的技术方案中,根据按键的计时时长确定按键的按键结果值,可以有效区分按键的长按或者短按的按键结果值。根据不同的结果值可以确定更多的交互参数,实现不同的交互功能。

参照图5,图5为本发明基于按键的交互方法的第二实施例,基于第一实施例,所述步骤S31之后,所述步骤S30还包括:

步骤S34,若所述计时时长大于或等于所述预设时长,则获取所述状态值对应有效电平的状态值的电平数据位的数量;

步骤S35,若所述数量为一个,则执行所述将长按对应的结果值赋值至所述按键结果值的步骤;

步骤S36,若所述数量为至少两个,则将组合按对应的结果值赋值至所述按键结果值。

具体的,在计时时长大于或等于预设时长时,计时时长对应的按键为长按,需要获取电平数据位中状态值对应为有效电平的按键数量。按键数量为一个时,对应的按键结果为长按。按键结果为多个时,表示还存在着其他按键在计时时长内被按压,因此按键结果为组合按。在确定结果之后,需要对计时时长清零。

在本实施例的技术方案中,根据有效电平的按键数量确定按键的按键结果值,可以有效区分按键的长按或者组合按的按键结果值。根据不同的结果值可以确定更多的交互参数,实现不同的交互功能。

参照图6,图6为本发明基于按键的交互方法的第二实施例,基于第一实施例,所述步骤S31之后,所述步骤S30还包括:

步骤S37,若所述计时时长小于所述预设时长,则获取所述状态值对应有效电平的电平数据位对应的按键的数量;

步骤S38,若所述数量为一个,则执行所述将短按对应的结果值赋值至所述按键结果值的步骤;

步骤S39,若所述数量为至少两个,则将按键无效对应的结果值赋值至所述按键结果值,并对所述计时时长清零。

具体的,在计时时长小于预设时长时,获取第一数据为中状态值对应为有效电平的按键数量,若按键数量为一个,则确定按键结果为短按。在按键数量为至少两个时,确定按键为无效按键,将按键无效对应的结果值赋值至按键结果值,并对计时时长清零。

在本实施例的技术方案中,根据有效电平的按键数量确定按键的按键结果值,可以有效区分按键的短按或者无效的按键结果值。根据不同的结果值可以确定不同的交互参数。

本发明还提供一种电子设备,所述电子设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的基于按键的交互程序,所述基于按键的交互程序被所述处理器执行时实现如上实施例所述的基于按键的交互方法的各个步骤。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于按键的交互程序,所述基于按键的交互程序被处理器执行时实现如上实施例所述的基于按键的交互方法的各个步骤。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于电子产品的多功能按键开关电路

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类