STM32按键检测与上拉电阻详解

(一)硬件结构

由数据手册可知,单片机的按键部分采用了,上拉电阻的方式。所以,默认电平为高电平,即按键没有按下时为高电平。按键按下后为低电平。

按键使用到的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;
}
相关推荐
czy87874751 天前
vscode编译make命令要修改stm32cubemx生成的STM32F103XX_FLASH.ld文件
ide·vscode·stm32
三易串口屏1 天前
实验20 自动灭火场景实验
嵌入式硬件·串口屏·三易串口屏·uart 通信
Bluetooth7301 天前
c语言一维数组
c语言
蒸蛋一级爱好者1 天前
TFTP协议
单片机·嵌入式硬件
优信电子1 天前
STM32/C51驱动 DHTC11 温湿度传感器
stm32·单片机·嵌入式硬件·c51·温湿度传感器·dhtc11·环境测量
QiLinkOS1 天前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
周周记笔记1 天前
【元器件专题】三极管-如果B极给一个方波信号,那么V0输出也可以设计为一个方波信号
单片机·嵌入式硬件
潜创微科技1 天前
IT68353:DP 1.4 + HDMI 2.0 + USB-C 三合一转 HDMI 2.0 单芯片KVM切换方案
嵌入式硬件·音视频
HPT_Lt1 天前
ZCC10012支持100V/1.2A 超低静态电流同步降压转换器 兼容LM5164
单片机·嵌入式硬件
Industio_触觉智能1 天前
瑞芯微RK3576车载智能场景之ADAS+DMS+NVR
嵌入式硬件·dms·adas·nvr·rk3576·车载智能