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;
}
相关推荐
旧梦吟1 天前
5.9 电工考试-易错题
stm32·嵌入式硬件
foundbug9991 天前
STM32 + SHT20 温湿度测试 TFT 显示方案
stm32·单片机·嵌入式硬件
星夜夏空991 天前
STM32单片机学习(3)——前置知识学习
stm32·单片机·学习
渣渣灰95871 天前
基于STM32F03ZET6移植FreeRTOS
数据库·stm32·嵌入式硬件
magic_now1 天前
FAT文件系统:嵌入式设备的极简选择
笔记·嵌入式硬件
Byte Wizard1 天前
C语言指针深入浅出3
c语言·开发语言
星夜夏空991 天前
STM32单片机学习(5) —— STM32的一些名词解释
stm32·单片机·学习
yuan199971 天前
STM32 速度控制器:PWM + PID 无级调速实现
stm32·单片机·嵌入式硬件
handler011 天前
速通蓝桥杯省一:二分算法
c语言·开发语言·c++·笔记·算法·职场和发展·蓝桥杯
czwxkn1 天前
pcb设计-器件:稳压二极管
单片机·嵌入式硬件