| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #include "key_io.h"
- #include "gd32e230_gpio.h"
- #include "gd32e230_rcu.h"
- #include "Timer.h"
- #define KEY_IO_RCU RCU_GPIOB
- #define KEY_IO_IO GPIOB
- #define KEY_IO_A_RST GPIO_PIN_9
- #define KEY_IO_A_TEST GPIO_PIN_8
- #define KEY_IO_B_RST GPIO_PIN_7
- #define KEY_IO_B_TEST GPIO_PIN_6
- #define KEY_IO_RST GPIO_PIN_2
- #define KEY_IO_TEST GPIO_PIN_1
- #define KEY_DETECTION GPIO_PIN_5
- void key_io_init(void * value)
- {
- (void)(value);
- rcu_periph_clock_enable(KEY_IO_RCU);
- // gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_A_RST);
- // gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_A_TEST);
- // gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_B_RST);
- // gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_B_TEST);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_RST);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_TEST);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_DETECTION);
- }
- uint8_t get_rst()
- {
- uint8_t ret = 0;
- FlagStatus status = SET;
- //bool ret = false;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_RST)) == RESET)
- {
- ret = 1;
- }
-
- return ret;
- }
- uint8_t get_test()
- {
- FlagStatus status = SET;
- uint8_t ret = 0;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_TEST)) == RESET)
- {
- ret = 1;
- }
- return ret;
- }
- uint8_t get_detection()
- {
- FlagStatus status = SET;
- uint8_t ret = 0;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_DETECTION)) == RESET)
- ret = 1;
- return ret;
- }
|