摘要:
长按短按一般是用来扩展按键功能,让人机界面更好用。其实现在做的最好的人机界面还是触摸屏上,iOS中对一个图标长按就激活了应用删除。除了长按,触摸屏还有短按、滑动,更牛逼的是手势操作,我现在累死累活做了个按键的长按短按处理,才发现触摸屏的使用有多牛逼,在用触摸屏的时候根本不用学,自然而然就会用触摸屏,这尼玛才是科技和人的结合啊!!!当然,这一篇还是描述怎么做按键长按短按的,擦!长短按的定义长按是指按下按键超过一定时间,这里以2s为时间阈值。短按是指从按下按键到弹起按键,不到0.5s。实现根据上面对长按短按的定义,可以这样设计:按键按下的瞬间触发中断,然后每隔100ms轮询,如果超过2000ms, 阅读全文
摘要:
cc2540的OSAL的按键做的很复杂,真心没搞懂为什么做成这样。为了理解OSAL的按键设计,特此分析一下。我们以按键的状态变化为线索,看看各个模块的作用,以及变量是怎么变化的。按键设计总体上可以分为2部分,按键初始化和按键运行,按键初始化主要负责跟按键相关的IO端口设置、中断设置。按键运行就是OSAL检测按键的过程。按键初始化1、初始化按键在main函数调用函数void HalDriverInit (void);HalDriverInit对HAL层(硬件抽象层)做初始化,并在其内部调用void HalKeyInit( void );完成按键的初步初始化,按键初始化主要是把按键对应到IO口,并 阅读全文