key.h 655 B

123456789101112131415161718192021222324252627
  1. #ifndef _KEY_H_
  2. #define _KEY_H_
  3. #include "../User/gd32f10x_it.h"
  4. #include "timeout.h"
  5. #define KEY2_DOWN() (gpio_input_bit_get(GPIOE,GPIO_PIN_3) == RESET) // 按键按下
  6. #define KEY2_UP() (gpio_input_bit_get(GPIOE,GPIO_PIN_3) == SET) // 按键抬起
  7. enum {
  8. KEY2_VAL = 0x11,
  9. KEY3_VAL = 0x12,
  10. KEY4_VAL = 0x13,
  11. };
  12. typedef struct _key_init_{
  13. uint8_t keyVal; // 键值
  14. uint8_t keyPress; // 按下 抬起 无操作
  15. uint8_t count; // 时间内按下的次数
  16. timeout_t timer; // 时间
  17. }__attribute__((packed))KeyInfo;
  18. extern KeyInfo g_keyinfo;
  19. extern void key_init(void);
  20. extern uint8_t key_scan(void);
  21. extern void key_opteration(void);
  22. #endif