## 按键(Key) * * ### 全局变量
全局变量类型注释
g_key1_long_pressuint16_t记录按键1的长按计时
### 宏定义
宏定义注释
KEY1_GPIO_PORTGPIOA按键1的GPIO端口
KEY1_GPIO_PINGPIO_Pin_8按键1的GPIO引脚
KEY1_GPIO_CLKRCC_APB2Periph_GPIOA按键1的GPIO时钟
KEY_PRESS1按键被按下
KEY_RELEASE0按键被松开
KEY_MODE_ONE_TIME1按下一次返回1
KEY_MODE_ALWAYS0持续按下返回1
### 方法 #### Key_Scan(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) 扫描按键状态
参数类型注释
GPIOxGPIO_TypeDef*GPIO端口
GPIO_Pinuint16_tGPIO引脚
返回值类型
按键状态uint8_t
#### Key1_GPIO_Init(void) 初始化按键1的GPIO
返回值类型
void
#### KEYAll_GPIO_Init(void) 初始化所有按键的GPIO
返回值类型
void
#### Key1_State(uint8_t mode) 读取按键K1的状态
参数类型注释
modeuint8_t设置模式,0:持续按下返回1,1:按下只返回一次1
返回值类型
按键状态uint8_t
#### Key1_Long_Press(uint16_t timeout) 读取按键K1的长按状态
参数类型注释
timeoutuint16_t长按时间,单位为秒
返回值类型
1:已达到长按状态,0:未达到uint8_t
#### Key1_is_Press(void) 判断按键是否被按下
返回值类型
KEY_PRESS:按下,KEY_RELEASE:松开uint8_t