44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
#ifndef __BSP_KEY_H
|
|
#define __BSP_KEY_H
|
|
|
|
#include "ch32v30x.h"
|
|
|
|
#define BSP_KEY_SCAN_TIM TIM3
|
|
#define BSP_KEY_SCAN_TIM_RCC_ENABLE() RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE)
|
|
#define BSP_KEY_SCAN_TIM_IRQHANDLER TIM3_IRQHandler
|
|
#define BSP_KEY_SCAN_TIM_IRQN TIM3_IRQn
|
|
|
|
#define BSP_KEY_NEXT_PORT GPIOA
|
|
#define BSP_KEY_NEXT_PIN GPIO_Pin_0
|
|
#define BSP_KEY_NEXT_PORT_RCC RCC_APB2Periph_GPIOA
|
|
|
|
#define BSP_KEY_PAUSE_PORT GPIOA
|
|
#define BSP_KEY_PAUSE_PIN GPIO_Pin_1
|
|
#define BSP_KEY_PAUSE_PORT_RCC RCC_APB2Periph_GPIOA
|
|
|
|
#define BSP_KEY_PREV_PORT GPIOA
|
|
#define BSP_KEY_PREV_PIN GPIO_Pin_2
|
|
#define BSP_KEY_PREV_PORT_RCC RCC_APB2Periph_GPIOA
|
|
|
|
#define BSP_KEY_MODE_PORT GPIOA
|
|
#define BSP_KEY_MODE_PIN GPIO_Pin_3
|
|
#define BSP_KEY_MODE_PORT_RCC RCC_APB2Periph_GPIOA
|
|
|
|
typedef enum {
|
|
bsp_key_none = 0x00,
|
|
bsp_key_next_short = 0x01,
|
|
bsp_key_pause_short = 0x02,
|
|
bsp_key_prev_short = 0x04,
|
|
bsp_key_mode_short = 0x08,
|
|
bsp_key_next_long = 0x10,
|
|
bsp_key_pause_long = 0x20,
|
|
bsp_key_prev_long = 0x40,
|
|
bsp_key_mode_long = 0x80,
|
|
} bsp_key_event_e;
|
|
|
|
void bsp_key_init(void);
|
|
bsp_key_event_e bsp_key_get_event(void);
|
|
const char *bsp_key_get_event_string(bsp_key_event_e key_event);
|
|
|
|
#endif
|