| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #ifndef __STM32_LED_H
- #define __STM32_LED_H
- #include "main.h"
- //
- /*
- 短按: 1次,80ms~280ms(down)
- 长按: 1200ms~>>(down)
- 双击: 2次,80ms~280ms(down) -> 0ms~280ms(up) -> 80ms~280ms(down)
- */
- #define SCAN_TIME (10) //10ms任务,扫描一次
- #define CANCEL_KEY_DOWN (80/SCAN_TIME) //按下<80ms,取消
- #define SHORT_KEY_DOWN (280/SCAN_TIME) //短按80ms-280ms
- #define LONG_KEY_DOWN (1200/SCAN_TIME) //长按1.2s
- #define CANCEL_KEY_UP (280/SCAN_TIME) //松开超过280ms,取消
- #define HANDLE_KEY_TIME (240/SCAN_TIME) //按键处理时间
- enum KeyState
- {
- KEY_UP_FLAG,
- KEY_DOWN_FLAG
- };
- enum KeyRes
- {
- NO_KEY_FLAG,
- ONE_HITS_KEY_FLAG,
- TWO_HITS_KEY_FLAG,
- THREE_HITS_KEY_FLAG,
- LONG_KEY_FLAG,
- MAX_KEY_FLAG
- };
- typedef struct
- {
- unsigned char ID; //按键号
- unsigned char State; //状态
- unsigned short DnTime; //down计时
- unsigned short UpTime; //up计时
- unsigned char HitNum; //单击计次
- unsigned char Res; //最后结果
- } pKey;
- /*tea5767
- K11: up+
- K12: down-
- */
- /*ds1302
- K13: 开机时间复位
- K14: 菜单
- K15: up+
- K16: down-
- */
- extern pKey Keys[16];
- extern void GPIO_ConfigurationKey ( void );
- extern unsigned short ScanKey ( void );
- extern void KeyHander ( void );
- #endif
|