潘多拉STM32L4 96 IoT开发板(HAL库) 4.按键输入实验

STM32实战项目-触摸按键 触摸按键的整理,复盘。 阅读详情

学习目标:

        通过按键控制开发板具体功能。


学习内容:

  1. 查看芯片原理图,确定要配置的按键的引脚。
  2. 根据原理图确定按键高低电平的状态
  3. 根据预定好的按键功能实现对按键的编程
  4. 测试程序是否实现功能

学习时间:

2026.1.6


工程创建:

1.根据原理图确定引脚功能和位置,并根据其工作原理配置引脚。

  • 上拉输入,端口默认输入为高电平。按键按下,输入低电平。
  • 下拉输入,端口默认输入为低电平。按键按下,输入高电平。

按键功能要求
>KEY0按键控制红色LED(LEDR)状态翻转。
>KEY1按键控制绿色LED(LEDG)状态翻转。
>KEY2按键控制蓝色LED(LEDB)状态翻转。
>WK_UP按键控制蜂鸣器(BEEP)状态翻转

2.添加功能代码(按照上述要求):

        (1)声明函数,编写KEY_Scan()函数,实现按键扫描,返回按键值。

(2)编写函数具体内容

        (3)编写按键扫描函数

3.编译运行,将程序烧写到开发版上即可完成RGB和蜂鸣器的状态反转。

        长按按键可以观察到串口已经接收到按键指令。

STM32L475潘多拉开发板硬件解析与RT-Thread开发实战 嵌入式系统开发中,STM32系列MCU因其丰富的外设和低功耗特性成为物联网设备的首选。基于Cortex-M4内核的STM32L475在80MHz主频下实现100μA/MHz的超低功耗,配合RT-Thread实时操作系统可快速构建IoT应用。开发实践涉及MDK-ARM工具链配置、GPIO控制、多线程编程等核心技能,特别适合智能家居、工业传感等场景。通过潘多拉开发板的W25Q128 SPI Flash和Wi-Fi模块扩展,开发者能高效实现从传感器数据采集到云端通信的全链路功能。 阅读详情

相关推荐

基于STM32L4微控制器的智能平衡小球开发

实时操作系统(RTOS)是响应外部事件或内部状态变化的实时性要求而设计的操作系统。它以能够及时响应和处理外部信号为基本特点,确保高优先级的任务能够获得及时的CPU时间片。RTOS通常用于那些对时间敏感的嵌入式应用,如工业控制系统、汽车电子、航空航天等领域。根据实时性的强弱,RTOS可以分为两类:硬实时RTOS和软实时RTOS。硬实时RTOS要求严格的时间约束,任何任务都必须在规定的时限内完成;软实时RTOS则对时间的要求相对宽松,任务在规定时间内完成的概率非常重要,但不是绝对的。

weixin_42466723的博客 1061

STM32+0.96OLED的多级菜单设计

硬件 硬件选型 STM32F103C8T6最小核心板 0.96寸四脚OLED屏幕IIC接口 普通按键5个 硬件连线 SCL ---- PA1 SDA ---- PA2 KEY_UP ---- PA4 KEY_DOWN ---- PA5 KEY_LEFT ---- PA3 KEY_RIGHT ---- PA6 KEY_OK ---- PA7 代码开源链接 百度网盘 链接:https://pan.baidu.com/s/1W4dIgTYgQv7Pp4iX-QnwTg 提取码:

wan1234512的博客 1万+

基于stm32的按键实现菜单(二级界面)

基于stm32f103zet6,中景圆0.96寸oled显示屏7针SPI,4*4矩阵按键

【亲测免费】 探索STM32多级菜单按键切换:高效、灵活的用户界面解决方案

探索STM32多级菜单按键切换:高效、灵活的用户界面解决方案 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在嵌入式系统开发中,用户界面的设计往往是一个关键环节。为了满足这一需求,我们推出了一个名为 STM32_多级菜单 按键切换.zip 的开源资源文件,专为STM32微控制器项目设计。该资源文件提供了一套完整的多级菜单按键切换功能,使用户能够通过简单的按键操作实现菜...

gitblog_09716的博客 1438

西门子Industrial Copilot实战:5个工业场景下的AI效率提升案例

本文通过五个工业场景实战案例,深入解析西门子Industrial Copilot如何将工业智能转化为实际生产力。从自动化配置、预测性维护到能源优化与人机交互,这位AI助手显著缩短工程周期、提升设备可用率并降低运营成本,展示了其在工业领域系统化、工程化的落地价值。

3c4x5z6v7b的博客 929

Cadence仿真实战:从零构建高精度带隙基准电压源

本文是一份详细的Cadence仿真实战指南,指导读者从零开始构建高精度带隙基准电压源。文章首先解释了带隙基准电压源稳定输出电压的原理,然后逐步演示了在Cadence Virtuoso环境中如何搭建测试电路、测量关键温度系数、计算并搭建核心电路,并通过参数扫描和迭代调优来驯服温度漂移,最终实现低漂移的基准电压输出。

weixin_29207533的博客 243

适合中国宝宝体质的stm32oled的多级菜单(简单·实用·易维护)

教你制作一个简易oled多级菜单

Nova.的草稿箱 5301

最小二乘法(看完即会)

其中,X是数据矩阵,每一行是一个数据点,每一列是一个自变量(包括截距项),Y是观测值向量,β是待求的系数向量。为了找到使S最小的a和b的值,我们需要对S求关于a和b的偏导数,并令它们等于零。最小二乘法的数学公式通常用于线性回归问题,其中目标是找到一条直线(或更高维度的超平面),使得这条直线与给定数据点的误差平方和最小。同样地,通过求偏导数和令偏导数等于零,我们可以得到一个线性方程组,解这个方程组可以找到最优的b_0, b_1, …+ b_m*x_m,其中b_0是截距,b_1到b_m是各个自变量的系数。

qlkaicx的博客 2万+

潘多拉STM32L4 96 IoT开发板(HAL库) 1.点亮三色RGB

6.进入Project Manager对文件名称,文件位置进行保存,生成初始文件并自动跳转到keil。按照下图对三个引脚的GPIO进行配置。4.根据芯片原理图找到RGB灯的引脚分别为PE7、PE8、PE9。8.编译文件并下载到开发板上,以下是运行效果图。1.启动stm32cubeMX,创建工程。设置GPIO为output。3.修改时钟配置,修改时钟为外部时钟。2.搜索stm32L496 芯片。

Dodger_code的博客 416

Plant Simulation 双深位立库开发系列教程-货架参数化

为了方便用户进行货架参数化,我们需要在交互界面上进行参数调整,右键打开RackLane,打开Dialog,在Rack_tab的tab下创建相应的对象,并创建NumberOfRightRack和NumberOfLeftRack作为数据连接对象。通过Rack._3D.VisibleGraphicGroups := ["default"]来切换需要显示的Rack,当不需要显示则可以Rack._3D.VisibleGraphicGroups := [""]即可。首先,加载默认的HBW库到模型中,确保结构树当中有。

santayana的专栏 1260

利用恒源云在云端租用GPU服务器训练YOLOv8模型(包括Linux系统命令讲解)

为当涉及到深度学习的训练任务时,GPU的计算能力是不可或缺的。相对于传统的中央处理器(CPU),图形处理器(GPU)具有更强大的并行计算能力,能够显著加速深度学习模型的训练过程。深度学习算法通常涉及大量的矩阵运算和张量操作,而GPU的并行计算架构使得它们能够高效地执行这些计算,从而加速模型训练的速度。恒源云是一个经济高效的云计算平台,您可以通过恒源云的控制台或者命令行界面来管理实例、上传和下载数据、执行训练任务等。

Snu77的博客 6726

潘多拉 IOT 开发板学习(HAL 库)—— 实验9 PWM输出实验(学习笔记)

本实验实现的功能:用 PWM 波控制电机转动,通过控制 PWM 的占空比,从而控制电机的转速。

Super辉sir的博客 966

化工模拟与优化软件:Aspen HYSYS二次开发_(15).工业应用与项目管理

项目背景、目标和主要流程。

kkchenjj的博客 1131

潘多拉STM32L4 96 IoT开发板(HAL库) 2.串口通信实验

掌握USART串口 入门知识。

Dodger_code的博客 661

【AUTOSAR-E2E】-2.2-配置E2E:基于E2EPW配置一个TX发送的Signal Group(使用E2E Profile 2)

《共13页精讲》:此法也适用于E2E Profile 4/5/6/7/11/22 目录 1 检查CAN Matrix Arxml/DBC是否满足E2E需求 2 在DaVinci Developer中为Port添加E2E保护 3 在DaVinci Configurator settings设置 4 如何使用应用层的E2E保护 5 结尾 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> &lt.

「汽车电子助手」的博客 4220

YOLOv13添加WDBB模块,map提升5.34!!,召回率提升6.55,准确率提升3.23

本文提出了一种基于YOLOv13改进的目标检测模型,通过引入WDBB模块显著提升了检测性能。实验结果表明,添加WDBB模块后,mAP提升11.34,召回率提升14.55,准确率提升3.23。文章详细介绍了模型移植方法,包括创建新的yaml配置文件、修改tasks.py和__init__.py文件,以及实现rep_block.py中的核心转换函数。改进后的模型通过深度卷积、通道注意力等模块优化了特征提取能力,同时保持了轻量化的特点。该工作为YOLO系列模型的性能提升提供了新的思路和技术实现。

FJN110的博客 2624

潘多拉STM32L4 96 IoT开发板(HAL库) 5.利用中断机制实现串口的收发信息

本文介绍了Java串口通信中的中断机制实现方法。主要内容包括:1)采用双缓冲接收机制,设计了200字节的静态缓冲区和单字节中断缓冲区;2)使用状态寄存器USART_RX_STA实现状态机同步机制,包含接收完成标志、错误标志和字节数信息;3)在中断服务程序中实现数据接收和状态更新,主循环中进行数据处理和状态复位;4)通过多级任务调度实现LED指示、用户提示等功能。该系统通过中断与主循环的协同工作,在有限资源下实现了可靠的串口通信,体现了嵌入式系统设计的核心思想。

Dodger_code的博客 864

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

潘多拉 IOT 开发板学习(HAL 库)—— 实验12 RTC实时时钟实验(学习笔记)

本实验实现的功能:设置 RTC 时间( RTC 初始化函数中),RTC 周期唤醒中断里实现 LED_B 的闪烁,RTC 闹钟实现蜂鸣器的响灭( main()函数中没有设置闹钟时间,所以这个功能应该没有完全实现)。LCD 每 10ms 刷新一次时间日期的显示...

Super辉sir的博客 1177

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

潘多拉 IOT 开发板学习(HAL 库)—— 实验13 硬件随机数实验(学习笔记)

本实验实现的功能:初始化随机数发生器后,按下 KEY0 直接调用随机数读取函数读取随机数值,同时每 200ms 获取一次 [0,9] 区间的随机数。

Super辉sir的博客 1449

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

潘多拉STM32L4 96 IoT开发板(HAL库) 6.通过USART1串口完整实现信息接收与发送

本文介绍了STM32L4系列单片机USART1串口通信的实现方法。通过封装usart1.c和usart1.h驱动文件,实现了串口初始化、中断接收和发送功能。主要内容包括:1) 创建USART1驱动文件并配置串口参数;2) 实现printf重定向和中断接收处理;3) 在主程序中初始化串口并测试收发功能;4) 结合按键控制LED和蜂鸣器,通过串口输出状态信息。最终实现了115200波特率的双向串口通信,可通过串口调试助手验证数据收发功能。

Dodger_code的博客 483

正点原子--IoT潘多拉开发板--00前言

2,软件篇,主要介绍STM32L475 常用开发软件的使用以及一些下载调试的技巧,并详细介绍了几个常用的系统文件(程序);3,实战篇,主要通过36个实例(都是通过HAL库完成的)带领大家一步步深入了解 STM32L475。1.正点原子 STM32L4HAL库入门学习教程。1,硬件篇,主要介绍本手册硬件平台;因此,我们由浅入深,逐步学习。

weixin_45495541的博客 304

潘多拉STM32L4 96 IoT开发板(HAL库) 3.添加蜂鸣器驱动

1.选中PB2引脚,设置GPIO为GPIO_Output,其余选项用缺省值即可。保存进入keil,对蜂鸣器进行编程。3.编译运行结果:每隔1000ms蜂鸣器发声一次(持续500ms)。2.保存进入keil,对蜂鸣器进行编程。

Dodger_code的博客 267

【潘多拉STM32L4 IOT开发板】

2020-11-03 重新回到多年前,桌上放着几块板子搞开发的时候,充满激情和干劲,感觉还不错。 收获与心得: 1.拿到新开发板,可以先上官网、论坛找相关资料。 2.STM32固件包的组成内容、代码架构。 3.烧录辅助开发工具MDK5 4.一个MDK5工程,一般包括5个子目录,USER用于存放用户文件,比如说新建的项目文件等;HALLIB目录用于存放HAL库文件;CORE用于存放启动文件和关键头文件,如start_up****.s,OBJ是存放编译过程中产生的临时文件的,system文件夹是用于

yangyi_33855的专栏 2490

正点原子--loT潘多拉开发板--02硬件篇--新建模板

我们按照步骤9的方法,右键点击Tempate,选择 Manage Project Items.然后选择需要添加文件的Group,这里第一步我们选择HALLIB,然后点击右边的AddFiles,定位到我们刚才建立的目录\HALLIB\STM32L4xx_HAL_Driver\Src 下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到Files列表下面包含我们添加的文件,如下图3.3.1.17。添加完必要的文件到工程之后,最后点击OK,回到工程主界面。

weixin_45495541的博客 774

LVGL-GUI 代码移植到STM32L475

LVGL移植到STM32L475

chenaiguo0503的专栏 607

STM32CubeIDE 使用OpenOCD debug

STM32CubeIDE 使用OpenOCD debug问题解决 问题 针对手头的正点原子潘多拉(Pandora IoT)开发板在使用STM32CubeIDE时,提示ST-Link固件升级,不能下载,更不能debug。 解决 1.方法一: 固件升级这里可以参考: 暴力升级你的 ST-Link 及 STM32CubeIDE 2.方法二 使用OpenOCD 首先安装OpenOCD(网上一大堆,不赘诉) cfg文件: Pandora的芯片时STM32L475VET6 所以这里选择比较接近的stm

heartbeats的博客 3714
上一篇: 潘多拉STM32L4 96 IoT开发板(HAL库) 3.添加蜂鸣器驱动
下一篇: 潘多拉STM32L4 96 IoT开发板(HAL库) 5.利用中断机制实现串口的收发信息
硅基造物主
博客等级 码龄4年 17粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值