CC2541 自定义按键
一:版权声明:参考甜甜的大香瓜博客,地址:http://blog.csdn.net/feilusia/article/details/50535963
二:添加P12的外部按键中断,低电平触发。
三:具体流程
1,定义.h以及.C文件。
1>说明如下:
1:COLA_KEY_PRESS_EVT 按键事件标志
2:KEY_LOOSEN 按键松开
3:KEY_PRESS 按键按下
4:void Key_Init_Cola(uint8 task_id ); 初始化按键,以及注册按键事件
5:U8 Key_Check_Pin(void); 有无按键按下检测
6:void Key_Handle_Cola(void); 按键按下后的处理函数
7:uint16 Key_Cola_ProcessEvent( uint8 task_id, uint16 events ); 主要给OSAL使用
2>备注
1.COLA_KEY_PRESS_EVT的值可以任意定义,但是必须以位为单位,即0x0001,0x0002,0x0004等。
1>说明如下:
1:中断函数里的定时器主要用来防抖,延时达到事件后,会置位相应的事件
2:osal_set_event( COLA_KEY_TaskID, COLA_KEY_PRESS_EVT ); 这个函数也是用来置位事件的。
都可以,但是使用延时防抖效果好。
2>备注
1.
总结:
自定义按键的流程,
1,首先定义事件的ID
2, 初始化事件,以及注册事件ID,
3,事件得到响应(中断产生),使能ID事件,
4,判断是否是自己定义的事件
5,若是,执行处理函数。