一、按键配置
首先选中IO口,配置为输入上拉模式
二、按键处理函数加消抖
unsigned char key_scan(void)
{
unsigned char key_state=0;
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET) key_state=1;
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET) key_state=2;
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2)==GPIO_PIN_RESET) key_state=3;
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_RESET) key_state=4;
return key_state;
}
void key_proc(void)
{
static unsigned char key_old=0;
unsigned char key_new,key_up;
key_new=key_scan();
key_up=~key_new&(key_old^key_new);
key_old=key_new;
if(key_up) {key_realsta=key_up;key_up=0;}
}