news 2026/4/25 17:37:50

新手STM32第五节——按键控制LED

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手STM32第五节——按键控制LED

本节主内容是利用按键来控制LED的状态,这里要学习按键模块,涉及到设置按键驱动、LED驱动。

首先是LED驱动模块:这里是借助Hardware文件夹下创建LED.c与.h文件,其中.c文件主要是写LED初始化函数、驱动函数(包括LED亮、灭与状态取反三类函数)。

1.LED初始化函数:LED所连接到的外设时钟使能语句,外设配置(包括模式、所接引脚、速度),这里由于是选择推挽输出模式,注意这里是输出,而非输入,因为LED无法给寄存器写入数据,而是要靠寄存器输出状态从而驱动外设,这里推挽输出默认上电后是显示低电平,所以初始化里面要给高电平,保证初始化之后不亮。

2.LED驱动函数:LED亮与灭,主要语句就是借助GPIO_SetBits()或者GPIO_RESetBits(),直接控制高低电平即可;而LED状态取反函数,这里主要是借助gpio.h文件里包含的写操作的后两个函数:GPIO_ReadOutputDataBit(),这里是借助输出该引脚的数据取反,具体代码如下。主要是学这个函数的使用。部分代码如下:

其次是按键模块:这里是第一次接触按键,由于按键是外部调整其状态来给寄存器写入数据,所以这里要用到输入模式,这里选择上拉输入模式是由于当按键按下时,低电平有效,默认是高电平,记住这样设置即可,GPIO_Mode_IPU表示上拉输入模式;按键模块.c文件也是初始化操作,内容基本上一样。接着就是获取按键返回的键码数值,从而根据该数值可以判断按键是否按下,按下的话在主函数里该执行什么语句,所以是层层关联,按照逻辑执行。获取键码数值函数一定要有返回值函数,这里选择uint8_t类型,最后return 变量名即可。部分代码如下:

综上,这里主要就是学习模块化编程,建立LED.c与LED.h文件,然后在.c文件中编写初始化函数、驱动函数,而后在.h文件中引用这些函数,在主函数中头文件中写上该.h文件,这样的话就可以在主函数中使用这些.c的所有函数,相当于是建立联系,不用全部都写在主函数中。

其中,按键模块要利用检测按键是否按下、延时(消除按下抖动)、判断按下是否还在进行(循环)、再延时(为了消除松开的抖动)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 5:51:27

5分钟掌握TegraRcmGUI:Switch注入工具零基础入门指南

5分钟掌握TegraRcmGUI:Switch注入工具零基础入门指南 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Nintendo Switch设计…

作者头像 李华
网站建设 2026/4/24 5:51:26

GLM-OCR在办公场景中的应用:快速提取图片中的文字和表格数据

GLM-OCR在办公场景中的应用:快速提取图片中的文字和表格数据 1. 办公场景中的文档处理痛点 在日常办公中,我们经常需要处理各种纸质文档和图片中的信息。传统的手动录入方式存在几个明显问题: 效率低下:人工打字录入速度慢&…

作者头像 李华
网站建设 2026/4/24 5:50:32

如何通过KK-HF_Patch获得完整Koikatu游戏体验:终极安装配置指南

如何通过KK-HF_Patch获得完整Koikatu游戏体验:终极安装配置指南 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch KK-HF_Patch是专为《K…

作者头像 李华
网站建设 2026/4/24 5:50:31

大厂校招面经-百度后端开发(最新)

百度面试有一个明显分叉。普通后端岗考经典八股加手写代码;AI 岗不问八股,全程拷打论文或大模型推理框架。 校招大礼包获取:入口 可能是至今最全,最好,最实用的校招大礼包,减少信息差,帮你提升…

作者头像 李华
网站建设 2026/4/24 5:46:35

小萌GIF 动态照片处理小工具

这款小萌GIF,这款软件多年来一直免费。软件有“GIF拆分”、“GIF转视频”和“动态照片转GIF”这几项功能。另外,软件可以调整画面比例、输入文字和调节速度等等。这款GIF制作的软件可离线使用,并且不收集用户数据,挺良心的。分享&…

作者头像 李华
网站建设 2026/4/24 5:43:22

荣耀WIN系列游戏本发布 270W性能释放 至高5070 Ti

多屏协同 4月23日,荣耀举办新品发布会,正式推出新款游戏本——荣耀WIN系列,包含荣耀WIN游戏本H9和荣耀WIN游戏本H7两款机型。 荣耀WIN游戏本H9堪称性能猛兽,至高搭载RTX5070Ti显卡与酷睿Ultra9处理器290HXPlus&am…

作者头像 李华