STM32按键长按短按保姆级教程(HAL库)以STM32H7VBT6为例
目录
1、实验原理
2、实验代码
3、实验测试
1、实验原理
简单来说就是通过设置一个定时器来定时扫描几个按键的状态,并分别记录按键按下的持续时间,通过时间的长短就可以判断出是长按还是短按。
本文硬件接线图如下:



当按键没有按下时,CPU 对应的 IO 口与地之间没有导通,而且 CPU 对应的 IO 口配置为上拉,因此接口输入为高电平;当按键被按下时,CPU 的 IO 口与地导通,IO 口电平被地拉低。所以只要读入 I/O 口的状态,即可知道按键是否有被按下。
七彩 LED 灯由 R(红)、G(绿)、B(蓝)三色构成,分别由 STM32H750 的 PE6、PE5 和 PE4 的 3 个端口控制,采用共阳接法,当对应端口电压为低电平时,则对应的 LED 灯点 亮,反之则熄灭。
2、实验代码
使用STM32CubeMX生成代码

下面按步骤进行选择配置:



同样的方法,我们依次配置 PE1、PE2 和 PE3 为输入模式。
接下来,我们就要配置 IO 口的相关参数了,依次点击 Pinout&Configuration→System Core→GPIO,在“GPIO Mode and Configuration”配置栏中选中 GPIO 选项,就能看到我们 刚才配置的四个 GPIO 口了,点击其中一个 GPIO 口,就能配置该引脚的相关参数了,操作 过程如下图所示:

进入 IO 口配置界面之后,界面就会列出所用使用到的 IO 口的参数配置,然后我们对 参数进行配置就可以了,配置方法如下图所示:

七彩 LED 电路设计可以知道,我们需要初始化的引脚有:PE4、PE5 和 PE6

我们选择 PE4 为例,PE5 和 PE6 的配置方法跟 PB14 一样。从上图我们可以看出,这里 除了配置 IO 口为输入输出之外,还可以选择 IO 口作为外部中断引脚或者其他复用功能, 这里我们选择 GPIO_Output 模式。




最后就是点击右上角的GENERATE CODE
打开文件夹,创建文件夹


用keil5打开MDK-ARM下的工程文件

创建一个组,



My_config.h

My_system.c

My_system.h

led.c

led.h

key.h

key.c

main.c


更多推荐


所有评论(0)