(一)硬件结构
由数据手册可知,单片机的按键部分采用了,上拉电阻的方式。所以,默认电平为高电平,即按键没有按下时为高电平。按键按下后为低电平。
按键使用到的GPIO口有:
PB0-2,PA0

(二)按键示例代码
1.stm32cubemx配置
将PB0-2,PA0设置为上拉输入模式

2.示例代码
cpp
void Key_show(void)
{
//读取引脚现在的状态
key_now_1 = HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0);
key_now_2 = HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1);
key_now_3 = HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2);
key_now_4 = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
//如果现在的状态为低电平 上次的状态为高电平 说明按键已经按下
if(key_now_1== 0&&key_last_1 == 1&&flag == 1)
{
}
if(key_now_2== 0&&key_last_2 == 1&&flag == 1)
{
}
if(key_now_3== 0&&key_last_3 == 1)
{
}
if(key_now_4== 0&&key_last_4 == 1)
{
}
key_last_1 = key_now_1;
key_last_2 = key_now_2;
key_last_3 = key_now_3;
key_last_4 = key_now_4;
}