key.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef __KEY_H
  2. #define __KEY_H
  3. #include "sys.h"
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include "gd32f30x.h"
  8. typedef enum
  9. {
  10. KEY_1=0,
  11. KEY_2,
  12. KEY_3,
  13. KEY_4,
  14. KEY_5,
  15. KEY_6,
  16. KEY_7,
  17. KEY_8,
  18. KEY_MAX,
  19. }typ_key;
  20. #define KEY_DATA_INT ~(0-(1<<KEY_MAX))
  21. #define KEY_GET (D_KEY_1|D_KEY_2|D_KEY_3|D_KEY_4|D_KEY_5|D_KEY_6|D_KEY_7|D_KEY_8)
  22. #define Dt_KEY_7 (gpio_input_bit_get(GPIOA,GPIO_PIN_15) )
  23. #define Dt_KEY_5 (gpio_input_bit_get(GPIOC,GPIO_PIN_10) )
  24. #define Dt_KEY_4 (gpio_input_bit_get(GPIOA,GPIO_PIN_5 ) )
  25. #define Dt_KEY_1 (gpio_input_bit_get(GPIOB,GPIO_PIN_10 ) )
  26. #define Dt_KEY_3 (gpio_input_bit_get(GPIOB,GPIO_PIN_12) )
  27. #define Dt_KEY_8 (gpio_input_bit_get(GPIOB,GPIO_PIN_13) )
  28. #define Dt_KEY_2 (gpio_input_bit_get(GPIOB,GPIO_PIN_14) )
  29. #define Dt_KEY_6 (gpio_input_bit_get(GPIOB,GPIO_PIN_15) )
  30. #define D_KEY_7 (gpio_input_bit_get(GPIOA,GPIO_PIN_15) << KEY_1)
  31. #define D_KEY_5 (gpio_input_bit_get(GPIOC,GPIO_PIN_10) << KEY_2)
  32. #define D_KEY_4 (gpio_input_bit_get(GPIOA,GPIO_PIN_5 ) << KEY_3)
  33. #define D_KEY_1 (gpio_input_bit_get(GPIOB,GPIO_PIN_10 ) << KEY_4)
  34. #define D_KEY_3 (gpio_input_bit_get(GPIOB,GPIO_PIN_12) << KEY_5)
  35. #define D_KEY_8 (gpio_input_bit_get(GPIOB,GPIO_PIN_13) << KEY_6)
  36. #define D_KEY_2 (gpio_input_bit_get(GPIOB,GPIO_PIN_14) << KEY_7)
  37. #define D_KEY_6 (gpio_input_bit_get(GPIOB,GPIO_PIN_15) << KEY_8)
  38. #define KEY_GET (D_KEY_1|D_KEY_2|D_KEY_3|D_KEY_4|D_KEY_5|D_KEY_6|D_KEY_7|D_KEY_8)
  39. uint8_t Get_key_value(uint8_t key_num);
  40. void KEY_Init(void);
  41. #endif