procedure?TFrameEntry.aplctnvnts1Message(var?Msg:?tagMSG;?var?Handled:?Boolean);
var
??aWinControl:?TWinControl;
begin
??if?(Msg.message?=?WM_KEYDOWN)?or?(Msg.message?=?WM_KEYUP)...
分类:
其他好文 时间:
2014-10-31 13:58:00
阅读次数:
224
(1)按键去抖/******************************************函数名称:Key_Scan(GPIO_TypeDef*GPIOx,u16 GPIO_pin)*描 述:检验是否有键按下*输 入:GPIOx代表端口 GPIO_Pin 代表引脚*输 出:KEY_O...
分类:
其他好文 时间:
2014-10-08 17:54:55
阅读次数:
324
复杂按键事件识别程序(链接层)
复杂按键包括多个按键的单按事件、长按事件、连按事件、组合按键事件等
本程序为链接层程序,处理和识别按键驱动层扫描到的按键信息g_u8KeyValue。(g_u8KeyValue的每一位表示一个按键)
单按事件在按下键松开时判定,其它按键情况在达到规定的时间后触发相应按键事件。
宏定义:
//宏定义各按键按下时的bit值
#define KE...
分类:
其他好文 时间:
2014-09-19 10:07:45
阅读次数:
169
写过一段时间单片机程序,也看了一些单片机程序,书上的,网上的,基本都是非常原始的读取按键,延时判断,这些按键相关代码穿插于整个程序,着实不够美观,最重要的是不能复用,so俺就想做个按键框架,只需提供按键处理代码即可,言归正传,先简介一下几个文件,ringfifo.c提供了一个简单的环形缓冲队列,用以...
分类:
其他好文 时间:
2014-08-15 14:35:49
阅读次数:
394
Button Handler(按键处理程序)
按键处理程序是使用GPIOTE(GPIO
Task and Event)的处理机制实现的,为了防止按键的抖动,在GPIOTE event(事件)处理程序中开启了定时器。在定时器超时后,按键对应的引脚仍然是有效的(按键一直被按下),按键按下的事件才会报告给应用程序。当定时器正处于运行的过程中,又产生了一个新的GPIOTE 事件,定时器会重新启动。另...
分类:
移动开发 时间:
2014-07-20 23:22:15
阅读次数:
414
一、思路 基于STM8,按键处理,思路是这样的: 每20ms左右一次去扫描按键,用一个key_now记录当前值,用key_last记录上次的值,如果key_now和key_last同时有效,则开始进行cnt++。 我设定两个阈值,LONG_PRESS为100(100*20ms=2s),SHORT_P...
分类:
其他好文 时间:
2014-07-10 14:08:35
阅读次数:
202