当前位置: 首页 > news >正文

新手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的所有函数,相当于是建立联系,不用全部都写在主函数中。

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

http://www.jsqmd.com/news/691111/

相关文章:

  • 千里科技发布Robotaxi战略规划:2027年推出综合方案,2030年剑指全球30万辆规模
  • 碎片时间变现效率的实证研究:基于果冻试玩等10个平台的3个月追踪数据
  • 工具链疲劳:一场软件测试从业者的专业反抗
  • Mac上VS Code配置PySide6开发环境:从Qt Designer拖拽到代码运行的全流程避坑指南
  • 时间序列预测模型回测:核心策略与工程实践
  • 运算放大器的线性运用
  • 别再乱配了!手把手教你搞定RK809 Codec的MIC差分与单端输入(附DTS配置避坑)
  • DevEco Studio:用?:三元运算符替换if else
  • 2026西安强制执行律师服务解析:西安民间借贷律师/西安强制执行律师/西安执行律师/选择指南 - 优质品牌商家
  • 2026年热门的防水挂钩/可重复使用挂钩/加厚大承重挂钩/挂钩长期合作厂家推荐 - 行业平台推荐
  • 2026苏州口碑好的太极拳培训,为健康生活助力,评价高的太极拳品牌优质企业盘点及核心优势详细解读 - 品牌推荐师
  • 为什么92%的智慧灌溉系统在雨季崩溃?——Docker Compose弹性扩缩容策略首次披露(附田间故障复现视频链接)
  • 从边界到波前:电磁场边界条件与均匀平面波反射/透射实战解析
  • 荣耀手机内行只推这4款,性价比拉满
  • MinerU快速部署教程:3步搭建智能文档解析系统,支持OCR识别
  • Qwen3-4B-Instruct多场景落地:跨境电商平台商品合规性长文本审核
  • 腾讯混元3.0:编程能力提升40%,SWE-bench得分74.4%接近GLM-4.7
  • 2026年知名的佛山免钉不伤墙挂钩/防潮挂钩高口碑品牌推荐 - 品牌宣传支持者
  • 2026年评价高的电动隔膜阀/浙江电动调节阀/电动闸阀横向对比厂家推荐 - 行业平台推荐
  • 避开坑点:STM32H750用DMA传输数据,为什么总失败?检查你的变量是不是放错了RAM区
  • 2026年知名的浙江电动闸阀/电动闸阀/电动截止阀横向对比厂家推荐 - 品牌宣传支持者
  • CYBER-VISION新手教程:轻松部署,让AI实时解构你的视觉世界
  • 电脑远程控制手机软件推荐,异地也能用,scrcpy + MoleSDN 保姆教程
  • 2026优质!内窥镜手术动力实地厂家实力推荐情况,关节镜动力/电动骨刨削动力/内窥镜手术动力,内窥镜手术动力厂家哪个好 - 品牌推荐师
  • Java 微服务架构:从拆分到治理的完整踩坑记录
  • 别再瞎折腾了!Windows下用Conda装PyTorch GPU版,看这一篇就够了(附版本对照表)
  • 2026昌吉本地媒体服务梯队盘点:昌吉靠谱的广告公司、昌吉高立柱广告、昌吉三面翻广告、昌吉传媒公司、昌吉做媒体选择指南 - 优质品牌商家
  • 2026湛江工厂手工组装订单外放合作参考:佛山工厂手工组装订单外放、南宁工厂手工组装订单外放、广州工厂手工组装订单外放选择指南 - 优质品牌商家
  • 保姆级调试:手把手带你用IDEA断点追踪@NacosValue配置刷新的完整流程
  • RWKV7-1.5B-world双语对话教程:支持中英文社交媒体风格(emoji/缩写/口语化)