蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键

蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键

  • 第一节 硬件解读
  • 第二节 CubeMX配置
  • 第三节 MDK代码

第一节 硬件解读

扩展模块和ADC模块是一摸一样的,插在主板上。
引脚对应关系:
PB6-ROW1
PB7-ROW2
PB1-COLUMN1
PB0-COLUMN2
PA8-COLUMN3
在这里插入图片描述
矩阵键盘原理,如上,先给ROW1和2一个电平,**ROW1和2一定是只允许其中一个引脚在某一时刻为低电平,除该引脚外,其他引脚必定为高电平,因为我们是通过低电平判断按键被按下的。**然后单片机不断读取COLUMN1,2,3的引脚。如果在ROW1为低电平,ROW2为高电平的情况下,读取COLUMN2为低电平,则代表B2被按下。
注意:在CubeMX配置和MDK代码中,我们先给COLUMN1,2,3一个电平,然后读取ROW1和ROW2的电平。

第二节 CubeMX配置

先配置PB0 PB1为输出模式,初始化为低电平。
在这里插入图片描述
之后配置PB6,7为输入模式,上拉。
在这里插入图片描述
注意:PA8是矩阵按键的引脚,同样是OLED引脚,所以矩阵键盘的B3和B6不会同时出现在一个项目中。配置PA8为矩阵键盘还是OLED,参考题目。

第三节 MDK代码

编写代码
在这里插入图片描述
在这里插入图片描述
先定义一个value值,写第一个column(竖行)为低电平,另一个为高电平。之后读取ROW(横行)是否为低电平,是就代表被按下,更新value值,注意消抖和释放按键。之后再写第二个column(竖行)为低电平,重复操作,最后返回value值。
编写main函数代码:
在这里插入图片描述
在这里插入图片描述
可以接收到数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/444441.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

骨传导耳机哪个牌子好?2024年度五大高分骨传导机型推荐!

骨传导耳机哪个牌子好?作为专业健身教练,我平日在训练的时候会使用骨传导耳机来听歌,不过,随着骨传导耳机热度逐渐提高,如今市场上骨传导耳机品牌繁多,类型各异,它们的质量差距也很大。很多网红…

【Java】多线程代码案例

多线程代码案例 单例模式初步了解饿汉模式懒汉模式线程安全问题分析存在的问题 生产者消费者模型初识生产者消费者模型初识阻塞队列生产者消费者模型的意义BlockingQueue阻塞队列模拟实现 定时器初识计时器初识Timer类初识 schedule() 方法简易定时器的实现思路讲解代码书写 线…

耳机座接口会被TYPE-C取代吗?

耳机座接口,即传统的3.5mm耳机插孔,一直以来都是音频设备的标准配置。然而,随着科技的发展和用户需求的变化,TYPE-C接口逐渐崭露头角,成为许多设备的主流选择。这一趋势引发了一个重要问题:耳机座接口会被T…

Collection 集合框架

Collection 集合框架 各类集合 Set TreeSet 基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。 HashSet 基于哈希表实现&…

php常用的注释符号

如果没有安装vscode和小皮,请点击下方链接安装: Vscode、小皮面板安装-CSDN博客 在学习php过程中,肯定少不了注释,也可以理解为备注的信息,来提醒自己这段代码有什么用,是什么意思等,接下来就介…

【Redis】网络模型(day10)

在本篇文章中,主要是对五种网络模型进行一个简单的介绍,然后对Redis4.0和6.0的网络模型进行一个概述。 用户空间和内核空间 在Linux系统上,分为用户空间、内核空间和硬件设备。硬件设备主要包括CPU、内存、网卡等物体,内核应用去…

QT开发--QT基础

第0章 QT工具介绍 0.1 编译工具 uic,rcc,moc,qmake 都是 qt 的工具 uic 主要是 编译 .ui文件 -> ui_xxx.h //.ui文件 .h rcc 主要是 编译 资源文件.qrc文件 -> xxx.rcc …

SpringBoot3.3 优雅启停定时任务

定时任务是非常常见的功能,在一个复杂的应用程序中,如何优雅地管理这些定时任务的启动与停止尤为重要。 Spring Boot 提供了强大的任务调度支持,通过@Scheduled注解可以轻松地创建定时任务,并且可以通过配置来灵活地管理这些任务的执行环境。在本文中,我们将深入探讨如何…

如何设置 GitLab 密码过期时间?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 60天专业…

使用Pytorch+Numpy+Matplotlib实现手写字体分类和图像显示

文章目录 1.引用2.内置图片数据集加载3.处理为batch类型4.设置运行设备5.查看数据6.绘图查看数据图片(1)不显示图片标签(2)打印图片标签(3)图片显示标签 7.定义卷积函数8.卷积实例化、损失函数、优化器9.训练和测试损失、正确率(1)训练(2)测试(3)循环(4)损失和正确率曲线(5)输出…

高效使用AI,一文掌握提示词的编写原则

ChatGPT问世以后就引爆全网热议,它除了能够聊天,还可以根据所提出的要求进行文字翻译、文案撰写、代码撰写等工作。在 《探秘爆火的ChatGPT:大语言模型是个啥?它到底咋工作的?》 一文中,我已经详细介绍了Ch…

仿IOS桌面悬浮球(支持拖拽、自动吸附、自动改变透明度与点击、兼容PC端与移动端)

使用 pointerdown/pointermove/pointerup 实现仿IOS桌面悬浮球效果,支持拖拽、指定拖拽选对容器,指定拖拽安全区、自动吸附、自动改变透明度与点击,兼容PC端与移动端。 效果展示 https://code.juejin.cn/pen/7423757568268304421 代码实现 …

掌握RocketMQ4.X消息中间件(一)-RocketMQ基本概念与系统架构

1 MQ介绍 MQ(Message Quene) : 翻译为 消息队列,别名为 消息中间件,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收&#xff0c…

<Project-8.1 pdf2tx-MM> Python Flask 用浏览器翻译PDF内容 2个翻译引擎 繁简中文结果 从P8更改

更新 Project Name:pdf2tx (P6) Date: 5oct.24 Function: 在浏览器中翻译PDF文件 Code:https://blog.csdn.net/davenian/article/details/142723144 升级 Project Name: pdf2tx-mm (P8) 7oct.24 加入多线程,分页OCR识别,提高性能与速度 使…

Qt+VS2019+大恒相机相机回调方式总结

一、前言 大恒驱动安装完成后,在安装目录有SDK调用文档,里面有更详细的调用介绍,此文档对近期做的Demo做一个回顾性总结。 二、调用流程概述 三、针对性内容介绍: 1. 在执行相机操作之前,需要先执行此代码&#xff1…

强大的PDF到Word转换工具

Solid Converter:强大的PDF到Word转换工具推荐 在日常工作和学习中,PDF是最常用的文件格式之一。然而,编辑PDF文档并不总是那么方便,尤其是当你需要将PDF文件转换为Word文档时。Solid Converter 是一款强大的工具,专为…

前端面试:项目细节重难点问题分享(18)

更多详情:爱米的前端小笔记(csdn~xitujuejin~zhiHu~Baidu~小红shu)同步更新,等你来看!都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们…

Java基础(下)

泛型 Java 泛型&#xff08;Generics&#xff09; 是 JDK 5 中引入的一个新特性。使用泛型参数&#xff0c;可以增强代码的可读性以及稳定性。 编译器可以对泛型参数进行检测&#xff0c;并且通过泛型参数可以指定传入的对象类型 ArrayList<Person> persons new Arra…

实战逆向RUST语言程序

实战为主&#xff0c;近日2024年羊城杯出了一道Rust编写的题目&#xff0c;这里将会以此题目为例&#xff0c;演示Rust逆向该如何去做。 题目名称&#xff1a;sedRust_happyVm 题目内容&#xff1a;unhappy rust, happy vm 关于Rust逆向&#xff0c;其实就是看汇编&#xff…

【WebGPU Unleashed】1.4 对不同的顶点设置不同颜色

一部2024新的WebGPU教程&#xff0c;作者Shi Yan。内容很好&#xff0c;翻译过来与大家共享&#xff0c;内容上会有改动&#xff0c;加上自己的理解。更多精彩内容尽在 dt.sim3d.cn &#xff0c;关注公众号【sky的数孪技术】&#xff0c;技术交流、源码下载请添加微信号&#x…