上一节已经详细介绍了GPIO相关知识,上一节运用到的是GPIO输出的应用,这一节是GPIO输入的应用。
一、硬件组成
-
器件:
1.面包板
2.LED发光二极管
3.电阻(500Ω-1000Ω,最好有,此次操作没用)
4.杜邦线若干
5.ST-LINK下载线
6.按键(分二脚和四脚,本文操作按键为四脚,稍微复杂一点点,有二脚的尽量用二脚)
按键:常见的输入设备,按下导通,松手断开
按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动。
按键消抖:通过延时跳过抖动的时间段,再判断IO输入电平。
(此图为二脚按键)
实物图:
图中四脚按键接法为对角线接法,一端接地(面包板负极),一端连接单片机的端口。
二、Cube配置
在上一节的基础上(注意:此次操作为保持统一没用对PB9进行命名)
增加PB15和PA12的GPIO输入的配置,并且将PB15设置为上拉模式,如图所示
(PB15控制PB9(绿灯),按住按键灯灭,松开灯亮;PA12控制PB6(红灯),按一下灯亮,再按一下灯灭)
因四脚按键一端接地(面包板负极),一端连接单片机的端口,此时因设置上拉。
三、代码程序
HAL_GPIO_TogglePin是翻转电平的函数(即原来为低电平经过翻转变为高电平,原来为高电平经过翻转变为低电平。)
结果展示: