STM32F103C8T6实操学习2(Cube+HAL库)-按键控制LED灯

本文介绍了GPIO输入应用,涉及硬件组成(包括四脚按键、上拉电阻等)、Cube配置(PB15和PA12配置为GPIO输入并处理按键消抖),以及使用HAL_GPIO_TogglePin函数实现电平翻转的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一节已经详细介绍了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是翻转电平的函数(即原来为低电平经过翻转变为高电平,原来为高电平经过翻转变为低电平。)

结果展示:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值