wch-code/ch32v307_mp3_dac/User/bsp/bsp_key.h
2024-05-05 22:27:52 +08:00

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