正点原子STM32F103精英版+HAL库实现4×4矩阵按键检测

这篇具有很好参考价值的文章主要介绍了正点原子STM32F103精英版+HAL库实现4×4矩阵按键检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先声明,本人小白一枚,所做的工作都是借鉴网上的大佬+自己摸索,但是都是亲测实际有效的。

因为所需要的功能开发板自带按键不够用,所以购买了4×4矩阵按键,当时购买的时候以为一个按键对应一个IO口,后来发现不是这样的,会浪费太多的IO口,4×4矩阵键盘用8个IO口控制16个按键。为了能够用起这块按键,自己到网上学习了很多教程,有很多大佬提供了自己的程序,我自己看着比较简便舒服易懂的是神仙边边发布的按键程序,学习了很多。

 为了帮更多的小白朋友,把做的流程详细说一说。

首先说一下原理,一般情况下是用逐行逐列扫描法(反线法我没看不会)。

逐行逐列扫描法原理

正点原子STM32F103精英版+HAL库实现4×4矩阵按键检测

 如图所示,F3.0~F3.3连接4行,F3.4~F3.7连接四列,每行每列都有一个按键连接,当某个按键被按下,它所对应的行和列就会被接通。比如说,我们将四行设置成上拉输入状态,四列设置成推挽输出,这个时候读F3.0~F3.3的引脚状态应该全是高电平,然后我们按下了F按键,此时我们把每一列对应的引脚挨个输出低电平,再读F3.0~F3.3的引脚状态,就会发现F3.0的引脚变为低电平了(因为F按键是连接F3.0引脚),就可以定位到是哪一行的按键被按下。之后再根据是在哪一列扫描时发生变化的,就可以定位出按键所在列。

端口的选择和配置

了解原理之后,我们要开始做了。需要选择8个IO口,如果用的是现成的开发板,比如原子或者野火,一定要记住,IO口的选择非常重要!一定尽量选择文章来源地址https://www.toymoban.com/news/detail-462180.html

到了这里,关于正点原子STM32F103精英版+HAL库实现4×4矩阵按键检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包