stm32-code/stm32f0_cherryusb/Core/Inc/bsp_key.h

32 lines
637 B
C

#ifndef __BSP_KEY_H
#define __BSP_KEY_H
#include "main.h"
#define BSP_KEY_COUNT 8
#define BSP_KEY_PRESSED_GPIO_LEVEL GPIO_PIN_RESET
#define BSP_KEY_LONG_PRESS_THRESHOLD_MS 500
typedef enum {
bsp_key_none = 0,
bsp_key1 = 0x01,
bsp_key2 = 0x02,
bsp_key3 = 0x04,
bsp_key4 = 0x08,
bsp_key5 = 0x10,
bsp_key6 = 0x20,
bsp_key7 = 0x40,
bsp_key8 = 0x80
} bsp_key_number_e;
typedef enum {
bsp_key_event_none = 0,
bsp_key_event_press,
bsp_key_event_long,
} bsp_key_event_type_e;
void bsp_key_init(void);
void bsp_key_get_event(bsp_key_number_e *key, bsp_key_event_type_e *event);
#endif