CN115793869A - 一种按键状态的识别方法及装置 - Google Patents
一种按键状态的识别方法及装置 Download PDFInfo
- Publication number
- CN115793869A CN115793869A CN202211334025.6A CN202211334025A CN115793869A CN 115793869 A CN115793869 A CN 115793869A CN 202211334025 A CN202211334025 A CN 202211334025A CN 115793869 A CN115793869 A CN 115793869A
- Authority
- CN
- China
- Prior art keywords
- value
- adc
- preset
- adc value
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种按键状态的识别方法及装置,所述方法包括:实时检测目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;计算每相邻两个ADC值之间的差值并建立第二预设序列;将第一预设序列中每一ADC值与目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一ADC值进行分类并建立第三预设序列;当ADC值与工作电压对应的ADC的偏差在预设范围内时,判定ADC值为小值,当ADC值与工作电压对应的ADC值的偏差大于预设范围时,判定ADC值为大值;根据第三预设序列中每一ADC值的分类结果判定目标按键的状态。本申请提供了一种按键状态的识别方法及装置,用于提高按键状态识别的响应速度和准确性。
Description
技术领域
本发明涉及按键检测技术领域,特别是涉及一种按键状态的识别方法及装置。
背景技术
在控制面板或手持式产品的手柄上,一般通过对一个按键进行单单击、双击、长按以实现不同的功能。传统的按键识别方法一般是当识别到按键第一次按下后,延时10—20ms,再次识别按键状态,若此时依旧为按下状态则判断按键实际按下。
但上述方案使用的延时函数会占用系统内时间,影响系统的实时性,且在延时期间并不处理按键识别流程,既浪费时间又导致系统的实时性降低,且传统按键检测仅有两次按键状态识别,误判率较高。
发明内容
本申请提供了一种按键状态的识别方法及装置,用于提高按键状态识别的响应速度和准确性。
第一方面,本申请提供了一种按键状态的识别方法,包括:
实时检测目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
计算每相邻两个所述ADC值之间的差值并建立第二预设序列;
将所述第一预设序列中每一ADC值与所述目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一所述ADC值进行分类并建立第三预设序列;其中,当ADC值与所述工作电压对应的ADC值的偏差在预设范围内时,判定所述ADC值为小值,当所述ADC值与所述工作电压对应的ADC值的偏差大于所述预设范围时,判定所述ADC值为大值;
根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态。
本申请提供一种按键状态的识别方法,通过实时检测目标按键连接端口的ADC值并建立相关的第一预设序列和第二预设序列,将每一ADC值与目标按键工作电压的对应ADC值进行比较以实现对每一ADC值的分类,根据分类结果建立第三预设序列,根据第三序列中的每一ADC值的分类结果排布情况判定目标按键的状况,不需要在检测到按键按下后时延一段时间重新进行检测,可以缩短目标按键状态识别的时间,使得按键在最小识别周期内判断按键的状态,从而达到快速响应。且本申请的一种按键状态的识别方法并不是单纯的识别按键到按键第一次按下后再进行复核的识别方法,而是实时检测并采集目标按键状态连接端口的ADC值,通过整体的ADC值的分类结果判定目标按键的状态,可以提高目标按键状态识别的正确率。
在一种实现方式中,所述按键状态的识别方法还包括根据所述第二预设序列中的差值对所述第一预设序列中的ADC值进行分类,具体为:
当第K次检测的ADC值与第K-1次检测的ADC值的差值绝对值小于预设阈值,且第K-2次和第K-1次检测的ADC值的分类结果依次为大值和小值时,判定第K次检测的ADC值的分类结果与第K-1次检测的ADC值的分类结果保持一致;其中,K为大于等于3的正整数。
在一种实现方式中,所述根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态,具体包括:
从所述第三预设序列中的第一个小值开始,若存在连续N个所述小值时,判定所述目标按键存在一次有效单击;其中,N为第一预设时长内的ADC值采样数量;
从所述第三预设序列中的第一个小值开始,仅存在连续小于M个所述小值时,判定所述目标按键处于抖动状态;其中M为第二预设时长内的ADC值采样数量,所述第一预设时长大于所述第二预设时长。
在一种实现方式中,所述按键状态的识别方法还包括:
当所述第三预设序列内存在两个小值区间段且两个所述小值区间段的间隔存在包含至少一个大值的大值区间段时,判定所述目标按键处于双击状态;其中,第二个小值区间段符合有效单击的判断标准,所述大值区间段的累计时间长度小于第三预设时长。
在一种实现方式中,所述按键状态的识别方法还包括:当所述第三序列内小值数量累计的采样时间长度达到第四预设时长时,判定所述目标按键处于长按状态;其中,所述第四预设时长大于所述第一预设时长。
第二方面,本申请提供一种按键状态的识别装置,包括采值模块、建序模块、分类模块和判定模块,具体为:
所述采值模块用于以预设时间间隔持续采集目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
所述建序模块用于以预设时间间隔持续采集目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
所述分类模块用于将所述第一预设序列中每一ADC值与所述目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一所述ADC值进行分类并建立第三预设序列;其中,当ADC值与所述工作电压对应的ADC值的偏差在预设范围内时,判定所述ADC值为小值,当所述ADC值与所述工作电压对应的ADC值的偏差大于所述预设范围时,判定所述ADC值为大值;
所述判定模块用于根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态。
本申请提供一种按键状态的识别装置,通过实时检测目标按键连接端口的ADC值并建立相关的第一预设序列和第二预设序列,将每一ADC值与目标按键工作电压的对应ADC值进行比较以实现对每一ADC值的分类,根据分类结果建立第三预设序列,根据第三序列中的每一ADC值的分类结果排布情况判定目标按键的状况,不需要在检测到按键按下后时延一段时间重新进行检测,可以缩短目标按键状态识别的时间,使得按键在最小识别周期内判断按键的状态,从而达到快速响应。且本申请提供的一种按键状态的识别装置并不是单纯的识别按键到按键第一次按下后再进行复核的识别方法,而是实时检测并采集目标按键状态连接端口的ADC值,通过整体的ADC值的分类结果判定目标按键的状态,可以提高目标按键状态识别的正确率。
在一种实现方式中,所述按键状态的识别装置还包括根据所述第二预设序列中的差值对所述第一预设序列中的ADC值进行分类,具体为:
当第K次检测的ADC值与第K-1次检测的ADC值的差值绝对值小于预设阈值,且第K-2次和第K-1次检测的ADC值的分类结果依次为大值和小值时,判定第K次检测的ADC值的分类结果与第K-1次检测的ADC值的分类结果保持一致;其中,K为大于等于3的正整数。
在一种实现方式中,所述判定模块用于根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态,具体包括:
从所述第三预设序列中的第一个小值开始,若存在连续N个所述小值时,判定所述目标按键存在一次有效单击;其中,N为第一预设时长内的ADC值采样数量;
从所述第三预设序列中的第一个小值开始,仅存在连续小于M个所述小值时,判定所述目标按键处于抖动状态;其中M为第二预设时长内的ADC值采样数量,所述第一预设时长大于所述第二预设时长。
在一种实现方式中,所述按键状态的识别装置还包括:
当所述第三预设序列内存在两个小值区间段且两个所述小值区间段的间隔存在包含至少一个大值的大值区间段时,判定所述目标按键处于双击状态;其中,第二个小值区间段符合有效单击的判断标准,所述大值区间段的累计时间长度小于第三预设时长。
在一种实现方式中,所述按键状态的识别装置还包括:当所述第三序列内小值数量累计的采样时间长度达到第四预设时长时,判定所述目标按键处于长按状态;其中,所述第四预设时长大于所述第一预设时长。
第三方面,本申请还提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的按键状态的识别方法。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的按键状态的识别方法。
附图说明
图1是本发明实施例提供的一种按键状态的识别方法的流程示意图;
图2是本发明实施例提供的一种按键状态的识别装置的模块结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)MCU:(Microcontroller Unit)微控制单元,又称单片微型计算机(SingleChip Microcomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
(2)ADC:英文“Analog-to-digital converter”的简写,是指模拟数字转换,用于将模拟形式的连续信号转换为数字形式的离散信号。
实施例1
参见图1,图1是本发明实施例提供的一种按键状态的识别方法的流程示意图。本发明实施例提供一种按键状态的识别方法,包括步骤101至步骤104,各项步骤具体如下:
步骤101:实时检测目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
步骤102:计算每相邻两个所述ADC值之间的差值并建立第二预设序列;
步骤103:将所述第一预设序列中每一ADC值与所述目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一所述ADC值进行分类并建立第三预设序列;其中,当ADC值与所述工作电压对应的ADC值的偏差在预设范围内时,判定所述ADC值为小值,当所述ADC值与所述工作电压对应的ADC值的偏差大于所述预设范围时,判定所述ADC值为大值;
步骤104:根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态。
本发明实施例中,将待识别的目标按键连接在MCU中具有ADC功能的引脚上。实时检测与目标按键连接端口的ADC值,并根据检测得到ADC值建立第一预设序列P[P1,P2,P3……],其中,第一序列P中每一个数值对应一个ADC值。计算每相邻两个ADC值之间的差值并建立第二预设序列D[D1=P2-P1,D2=P3-P2,D3=P4-P3……]。当目标按键无按下时,采集得到的ADC是一个较大的值,接近于目标按键的工作电压值对应的ADC值,在按键无按下状态采集的两个ADC值间的差值接近于0。如0.5V工作电压对用的ADC值为300,则当按键无按下状态时采集的ADC值无限接近300,根据MCU采样精度可对应调整预设范围的大小,当采集的ADC值与MCU工作电压对应的ADC值的偏差在预设范围内时均可判定为小值。当按键为按下状态时,ADC值为一个较小的值,远离工作电压对应的ADC值,当采集的ADC值与MCU工作电压的ADC值之间的偏差大于预设范围时,可判定此时ADC值为大值。
一实施例中,所述按键状态的识别方法还包括根据所述第二预设序列中的差值对所述第一预设序列中的ADC值进行分类,具体为:当第K次检测的ADC值与第K-1次检测的ADC值的差值绝对值小于预设阈值,且第K-2次和第K-1次检测的ADC值的分类结果依次为大值和小值时,判定第K次检测的ADC值的分类结果与第K-1次检测的ADC值的分类结果保持一致;其中,K为大于等于3的正整数。优选的,本发明实施例中根据MCU的采样精度将预设阈值设置为100。
一实施例中,所述根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态,具体包括:从所述第三预设序列中的第一个小值开始,若存在连续N个所述小值时,判定所述目标按键存在一次有效单击;其中,N为第一预设时长内的ADC值采样数量;从所述第三预设序列中的第一个小值开始,仅存在连续小于M个所述小值时,判定所述目标按键处于抖动状态;其中M为第二预设时长内的ADC值采样数量,所述第一预设时长大于所述第二预设时长。从第三预设序列中的第一个小值开始计算,若在一个预设时长内采集的ADC值均为小值时,即可判定为一次有效按下。其中,第一预设时长一般为5ms,N为5ms内的采样频率,即采集的ADC值数量。优选的,从第三预设序列的第一个小值开始计算,第三预设序列中仅存在连续小于M个小值,则可判定为目标按键处于抖动状态。其中,M为在第二预设时长内采集的ADC值数量,第二预设时长一般为1-2ms。
一实施例中,所述按键状态的识别方法还包括:当所述第三预设序列内存在两个小值区间段且两个所述小值区间段的间隔存在包含至少一个大值的大值区间段时,判定所述目标按键处于双击状态;其中,第二个小值区间段符合有效单击的判断标准,所述大值区间段的累计时间长度小于第三预设时长。优选的,若第三预设序列为[大值,大值,大值,小值,小值,小值,小值,…,小值,大值,大值,大值,小值,小值,小值,小值,…,小值,大值],即第三预设序列中存在两个连续的小值区间段,且两个小值区间段的间隔存在一个包含至少一个大值的区间段时,若此时第二个小值区间符合存在一个有效单击的判断标准,且大值区间段的累计时间间隔小于第三预设时长,即可判断目标按键为双击状态。其中,第三预设时长可根据MCU的采样精度进行设置,一般来说小于一个ADC值的采样间隔。一实施例中,所述按键状态的识别方法还包括:当所述第三序列内小值数量累计的采样时间长度达到第四预设时长时,判定所述目标按键处于长按状态。当第三序列满足有效单击的判断标准时,累计计算第三序列中小值数量的采样时间长度,若达到第四预设时长可判定目标按键处于长按状态。所述第四预设时长大于一次有效单击判断标准中的第一预设时长,可根据MCU的采样精度以及采样频率进行自定义设置。
作为本发明实施例的一个优化方案,当所述第一预设序列中存在连续K个ADC值小于预设常数值,且所述第二预设序列中对应范围内的差值存在出现一次负值后变为在预设范围内趋近于0的情况时,判定目标按键被按下;其中,所述预设常数值为所述目标按键的工作电压对应的ADC值,所述负值的绝对值大小与所述预设常数值相等。基于ADC值在按键按下前后的数值变化,当存在连续多个ADC值小于上述预设常数值后,若对应的第二预设序列中的差值出现一次负值后又变为接近0的数值,则可判定目标按键被按下。由于计算相邻两个ADC值间的差值时考虑相对值,因为存在负值的情况。如某款MCU测得0.5V电压对应的ADC值为300,因此当按键被按下时,第二预设序列中会存在一个-300的负值。
本发明实施例中,还提供了一种按键状态的识别设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现上述的按键状态的识别方法。
本发明实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的按键状态的识别。
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在按键状态的识别设备中的执行过程。
所述按键状态的识别设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述按键状态的识别设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,上述部件仅仅是按键状态的识别设备的示例,并不构成对按键状态的识别设备的限定,可以包括比所述部件更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述按键状态的识别设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述按键状态的识别设备的控制中心,利用各种接口和线路连接整个所述按键状态的识别设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述按键状态的识别设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述按键状态的识别设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例提供一种按键状态的识别方法,通过实时检测目标按键连接端口的ADC值并建立相关的第一预设序列和第二预设序列,将每一ADC值与目标按键工作电压的对应ADC值进行比较以实现对每一ADC值的分类,根据分类结果建立第三预设序列,根据第三序列中的每一ADC值的分类结果排布情况判定目标按键的状况,不需要在检测到按键按下后时延一段时间重新进行检测,可以缩短目标按键状态识别的时间,使得按键在最小识别周期内判断按键的状态,从而达到快速响应。且本发明实施例提供的一种按键状态的识别方法并不是单纯的识别按键到按键第一次按下后再进行复核的识别方法,而是实时检测并采集目标按键状态连接端口的ADC值,通过整体的ADC值的分类结果判定目标按键的状态,可以提高目标按键状态识别的正确率。
实施例2
参见图2,图2是本发明实施例提供的一种按键状态的识别装置的模块结构图。本发明实施例提供一种按键状态的识别装置,包括采值模块201、建序模块202、分类模块203和判定模块204,具体为:
所述采值模块201用于以预设时间间隔持续采集目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
所述建序模块202用于以预设时间间隔持续采集目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
所述分类模块203用于将所述第一预设序列中每一ADC值与所述目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一所述ADC值进行分类并建立第三预设序列;其中,当ADC值与所述工作电压对应的ADC值的偏差在预设范围内时,判定所述ADC值为小值,当所述ADC值与所述工作电压对应的ADC值的偏差大于所述预设范围时,判定所述ADC值为大值;
所述判定模块204用于根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态。
一实施例中,所述按键状态的识别装置还包括根据所述第二预设序列中的差值对所述第一预设序列中的ADC值进行分类,具体为:当第K次检测的ADC值与第K-1次检测的ADC值的差值绝对值小于预设阈值,且第K-2次和第K-1次检测的ADC值的分类结果依次为大值和小值时,判定第K次检测的ADC值的分类结果与第K-1次检测的ADC值的分类结果保持一致;其中,K为大于等于3的正整数。
一实施例中,所述判定模块204用于根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态,具体包括:从所述第三预设序列中的第一个小值开始,若存在连续N个所述小值时,判定所述目标按键存在一次有效单击;其中,N为第一预设时长内的ADC值采样数量;从所述第三预设序列中的第一个小值开始,仅存在连续小于M个所述小值时,判定所述目标按键处于抖动状态;其中M为第二预设时长内的ADC值采样数量,所述第一预设时长大于所述第二预设时长。
一实施例中,所述按键状态的识别装置还包括:当所述第三预设序列内存在两个小值区间段且两个所述小值区间段的间隔存在包含至少一个大值的大值区间段时,判定所述目标按键处于双击状态;其中,第二个小值区间段符合有效单击的判断标准,所述大值区间段的累计时间长度小于第三预设时长。
一实施例中,所述按键状态的识别装置还包括:当所述第三序列内小值数量累计的采样时间长度达到第四预设时长时,判定所述目标按键处于长按状态;其中,所述第四预设时长大于所述第一预设时长。所属领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供一种按键状态的识别装置,通过实时检测目标按键连接端口的ADC值并建立相关的第一预设序列和第二预设序列,将每一ADC值与目标按键工作电压的对应ADC值进行比较以实现对每一ADC值的分类,根据分类结果建议第三预设序列,根据第三序列中的每一ADC值的分类结果排布情况判定目标按键的状况,不需要在检测到按键按下后时延一段时间重新进行检测,可以缩短目标按键状态识别的时间,使得按键在最小识别周期内判断按键的状态,从而达到快速响应。且本发明实施例提供的一种按键状态的识别装置并不是单纯的识别按键到按键第一次按下后再进行复核的识别方法,而是实时检测并采集目标按键状态连接端口的ADC值,通过整体的ADC值的分类结果判定目标按键的状态,可以提高目标按键状态识别的正确率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (10)
1.一种按键状态的识别方法,其特征在于,包括:
实时检测目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
计算每相邻两个所述ADC值之间的差值并建立第二预设序列;
将所述第一预设序列中每一ADC值与所述目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一所述ADC值进行分类并建立第三预设序列;其中,当ADC值与所述工作电压对应的ADC值的偏差在预设范围内时,判定所述ADC值为小值,当所述ADC值与所述工作电压对应的ADC值的偏差大于所述预设范围时,判定所述ADC值为大值;
根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态。
2.如权利要求1所述的一种按键状态的识别方法,其特征在于,所述按键状态的识别方法还包括根据所述第二预设序列中的差值对所述第一预设序列中的ADC值进行分类,具体为:
当第K次检测的ADC值与第K-1次检测的ADC值的差值绝对值小于预设阈值,且第K-2次和第K-1次检测的ADC值的分类结果依次为大值和小值时,判定第K次检测的ADC值的分类结果与第K-1次检测的ADC值的分类结果保持一致;其中,K为大于等于3的正整数。
3.如权利要求1所述的一种按键状态的识别方法,其特征在于,所述根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态,具体包括:
从所述第三预设序列中的第一个小值开始,若存在连续N个所述小值时,判定所述目标按键存在一次有效单击;其中,N为第一预设时长内的ADC值采样数量;
从所述第三预设序列中的第一个小值开始,仅存在连续小于M个所述小值时,判定所述目标按键处于抖动状态;其中M为第二预设时长内的ADC值采样数量,所述第一预设时长大于所述第二预设时长。
4.如权利要求3所述的一种按键状态的识别方法,其特征在于,所述按键状态的识别方法还包括:
当所述第三预设序列内存在两个小值区间段且两个所述小值区间段的间隔存在包含至少一个大值的大值区间段时,判定所述目标按键处于双击状态;其中,第二个小值区间段符合有效单击的判断标准,所述大值区间段的累计时间长度小于第三预设时长。
5.如权利要求3所述的一种按键状态的识别方法,其特征在于,所述按键状态的识别方法还包括:
当所述第三序列内小值数量累计的采样时间长度达到第四预设时长时,判定所述目标按键处于长按状态;其中,所述第四预设时长大于所述第一预设时长。
6.一种按键状态的识别装置,其特征在于,包括采值模块、建序模块、分类模块和判定模块,具体为:
所述采值模块用于以预设时间间隔持续采集目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
所述建序模块用于以预设时间间隔持续采集目标按键连接端口的ADC值并根据采集的ADC值建立第一预设序列;
所述分类模块用于将所述第一预设序列中每一ADC值与所述目标按键的工作电压对应的ADC值进行比较,根据比较结果对每一所述ADC值进行分类并建立第三预设序列;其中,当ADC值与所述工作电压对应的ADC值的偏差在预设范围内时,判定所述ADC值为小值,当所述ADC值与所述工作电压对应的ADC值的偏差大于所述预设范围时,判定所述ADC值为大值;
所述判定模块用于根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态。
7.如权利要求6所述的一种按键状态的识别装置,其特征在于,所述按键状态的识别装置还包括根据所述第二预设序列中的差值对所述第一预设序列中的ADC值进行分类,具体为:
当第K次检测的ADC值与第K-1次检测的ADC值的差值绝对值小于预设阈值,且第K-2次和第K-1次检测的ADC值的分类结果依次为大值和小值时,判定第K次检测的ADC值的分类结果与第K-1次检测的ADC值的分类结果保持一致;其中,K为大于等于3的正整数。
8.如权利要求6所述的一种按键状态的识别装置,其特征在于,所述判定模块用于根据所述第三预设序列中每一所述ADC值的分类结果判定所述目标按键的状态,具体包括:
从所述第三预设序列中的第一个小值开始,若存在连续N个所述小值时,判定所述目标按键存在一次有效单击;其中,N为第一预设时长内的ADC值采样数量;
从所述第三预设序列中的第一个小值开始,仅存在连续小于M个所述小值时,判定所述目标按键处于抖动状态;其中M为第二预设时长内的ADC值采样数量,所述第一预设时长大于所述第二预设时长。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述的按键状态的识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的按键状态的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211334025.6A CN115793869B (zh) | 2022-10-27 | 2022-10-27 | 一种按键状态的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211334025.6A CN115793869B (zh) | 2022-10-27 | 2022-10-27 | 一种按键状态的识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115793869A true CN115793869A (zh) | 2023-03-14 |
CN115793869B CN115793869B (zh) | 2023-08-25 |
Family
ID=85434230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211334025.6A Active CN115793869B (zh) | 2022-10-27 | 2022-10-27 | 一种按键状态的识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115793869B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115963932A (zh) * | 2023-03-16 | 2023-04-14 | 苏州多感科技有限公司 | 基于光流传感器的用户按压操作识别方法和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508552A (zh) * | 2011-10-31 | 2012-06-20 | 深圳市大富科技股份有限公司 | 一种消除按键抖动的方法、装置及键盘 |
WO2017113615A1 (zh) * | 2015-12-31 | 2017-07-06 | 深圳Tcl数字技术有限公司 | 用于终端与按键板的适配检测装置及方法 |
CN109799919A (zh) * | 2018-12-25 | 2019-05-24 | 珠海慧联科技有限公司 | 一种单通道adc实现按键和旋钮的方法及装置 |
CN212180969U (zh) * | 2020-02-20 | 2020-12-18 | 京东方科技集团股份有限公司 | 按键检测电路 |
CN113126814A (zh) * | 2021-03-01 | 2021-07-16 | 卧安科技(深圳)有限公司 | 一种按键无响应的修正方法、装置、终端设备及存储介质 |
CN113126813A (zh) * | 2021-03-01 | 2021-07-16 | 卧安科技(深圳)有限公司 | 一种按键误判的修正方法、装置、终端设备及存储介质 |
CN113126815A (zh) * | 2021-03-01 | 2021-07-16 | 卧安科技(深圳)有限公司 | 一种按键响应控制方法、装置、终端设备及存储介质 |
CN113552993A (zh) * | 2020-04-23 | 2021-10-26 | 宇龙计算机通信科技(深圳)有限公司 | 基于按键的指令触发方法、装置、存储介质及终端设备 |
CN114413441A (zh) * | 2022-01-04 | 2022-04-29 | 珠海格力电器股份有限公司 | 按键控制方法、装置、计算机设备、存储介质和程序产品 |
CN216751719U (zh) * | 2021-12-13 | 2022-06-14 | 深圳市正浩创新科技股份有限公司 | 多按键唤醒识别电路及电子设备 |
-
2022
- 2022-10-27 CN CN202211334025.6A patent/CN115793869B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508552A (zh) * | 2011-10-31 | 2012-06-20 | 深圳市大富科技股份有限公司 | 一种消除按键抖动的方法、装置及键盘 |
WO2017113615A1 (zh) * | 2015-12-31 | 2017-07-06 | 深圳Tcl数字技术有限公司 | 用于终端与按键板的适配检测装置及方法 |
CN109799919A (zh) * | 2018-12-25 | 2019-05-24 | 珠海慧联科技有限公司 | 一种单通道adc实现按键和旋钮的方法及装置 |
CN212180969U (zh) * | 2020-02-20 | 2020-12-18 | 京东方科技集团股份有限公司 | 按键检测电路 |
CN113552993A (zh) * | 2020-04-23 | 2021-10-26 | 宇龙计算机通信科技(深圳)有限公司 | 基于按键的指令触发方法、装置、存储介质及终端设备 |
CN113126814A (zh) * | 2021-03-01 | 2021-07-16 | 卧安科技(深圳)有限公司 | 一种按键无响应的修正方法、装置、终端设备及存储介质 |
CN113126813A (zh) * | 2021-03-01 | 2021-07-16 | 卧安科技(深圳)有限公司 | 一种按键误判的修正方法、装置、终端设备及存储介质 |
CN113126815A (zh) * | 2021-03-01 | 2021-07-16 | 卧安科技(深圳)有限公司 | 一种按键响应控制方法、装置、终端设备及存储介质 |
CN216751719U (zh) * | 2021-12-13 | 2022-06-14 | 深圳市正浩创新科技股份有限公司 | 多按键唤醒识别电路及电子设备 |
CN114413441A (zh) * | 2022-01-04 | 2022-04-29 | 珠海格力电器股份有限公司 | 按键控制方法、装置、计算机设备、存储介质和程序产品 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115963932A (zh) * | 2023-03-16 | 2023-04-14 | 苏州多感科技有限公司 | 基于光流传感器的用户按压操作识别方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115793869B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10198616B2 (en) | Method for fingerprint unlocking and terminal | |
CN109857251A (zh) | 智能家电的手势识别控制方法、装置、存储介质及设备 | |
CN105608199B (zh) | 用于智能问答系统中的标准问的扩展方法和装置 | |
US10983633B2 (en) | Key detecting method and apparatus | |
CN111177358B (zh) | 意图识别方法、服务器及存储介质 | |
CN108874234B (zh) | 一种触控识别方法、装置及触控显示装置 | |
WO2018072171A1 (zh) | 基于指纹的压力检测方法及装置 | |
CN115793869B (zh) | 一种按键状态的识别方法及装置 | |
CN110021792B (zh) | 充电控制方法、装置、终端设备及计算机存储介质 | |
CN102508552A (zh) | 一种消除按键抖动的方法、装置及键盘 | |
CN106258009A (zh) | 一种采集指纹的方法、指纹采集器以及终端 | |
CN105260119A (zh) | 一种用户终端控制方法及用户终端 | |
CN105550561A (zh) | 一种移动终端的识别方法及装置 | |
CN107317928B (zh) | 信息处理方法、移动终端及计算机可读存储介质 | |
CN107037951B (zh) | 操作模式自动识别方法及终端 | |
CN108196819B (zh) | 应用于终端的工作模式切换方法、装置及电子设备 | |
CN105912211B (zh) | 指令输入方法及装置 | |
CN106951151B (zh) | 键值生成方法、装置和终端 | |
CN111210817A (zh) | 数据处理方法及装置 | |
CN107203325B (zh) | 一种搜索方法以及装置、计算机装置、可读存储介质 | |
CN111399746B (zh) | 分屏显示方法、装置、移动终端及计算机可读存储介质 | |
CN112912832A (zh) | 应用推送方法、装置、移动终端及存储介质 | |
CN108965586A (zh) | 一种home键操作方法及装置 | |
CN109189259B (zh) | 一种触控擦除抗干扰的方法、装置及终端设备 | |
CN110874277B (zh) | 一种电子红包处理方法、电子红包处理装置及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |