| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- * @Description:
- * @Version: 2.0
- * @Author: Seven
- * @Date: 2022-06-14 17:47:28
- * @LastEditors: Seven
- * @LastEditTime: 2022-06-15 09:25:31
- */
- #ifndef __KEY_H
- #define __KEY_H
- #include "stm32f10x.h"
- #include "tools.h"
- extern uint8_t hd_id;
- //PCB版本检测
- #define PCB_V0 0
- #define PCB_V1 1
- #define HD_ID_0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)
- #define HD_ID_1 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)
- #define HD_ID_2 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)
- #define HD_ID_3 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_5)
- //按键key
- #define KEY_NUM 3
- typedef struct _key_info
- {
- uint8_t execute; //执行标记
- uint8_t flag; //按键是否是第一次按下
- uint8_t pres_num; //规定时间内按下次数
- uint8_t pres_total_num; //按键按下的总次数
- uint8_t key_state; //当前按键状态
- uint8_t key_state_tmp; //上次按键状态
- // uint32_t key_state_tick; //
- timeout_t tt_key_press; //按下滤波延时
- timeout_t tt_key_release; //抬起滤波延时
- timeout_t tt_key; //
- }key_info_t;
- extern key_info_t key_info[KEY_NUM];
- #define KEY0() GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)//读取按键0
- #define KEY0_PRES 1 //KEY0按下
- #define KEY1_PRES 2 //KEY1按下
- #define KEY2_PRES 3 //KEY2按下
- #define WKUP_PRES 4 //KEY_UP按下(即WK_UP/KEY_UP)
- void HD_ID_Init(void);
- uint8_t get_HD_ID(void);
- void key_init(void);
- void key_press(void);
- #endif
|