按键(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