STM32—按键控制LED(定时器)

news2024/10/5 22:41:37

目录

1 、 电路构成及原理图 

2 、编写实现代码 

main.c

exit.c

3、代码讲解

4、烧录到开发板调试、验证代码

5、检验效果 


此笔记基于朗峰 STM32F103 系列全集成开发板的记录。

1 、 电路构成及原理图 

EXTI(External interrupt/event controller)—外部中断/事件控制器,管理着控制器的  20  个中断/事件线并且每个中断/事件线都对应有一个边沿(上升沿/下降沿)检测器,可以实现输入信号的边沿检测。EXTI  可对每个中断/事件线进行单独配置,可以配置为中断或者事件,
以及触发事件的属性。STM32F103  的中断控制器支持  20 个外部中断/事件请求。

2 、编写实现代码 

main.c

exit.c

 

3、代码讲解

main

初始化 HAL 库、初始化系统时钟(72Mhz)、初始化 LED、初始化按键最后初始化按键的外部中断。 因控制逻辑写在了中断服务函数里,程序运行后有中断产生时就自动运行了,所以 main 函数里也就没有什么需要处理了。 

exit.c

先初始化产生中断的引脚 PC8 也就是 KEY1 引脚,因KEY1 的另一个引脚连接在低电平 GND 端所以选择下降沿触发(按下按键时 PC8 引脚会由高电平被拉到低电平),也是这个原因 PC8 选择上拉即平时没有按下 KEY1 时 PC8 是高电平状态。 

随后就要用 HAL 库函数 HAL_NVIC_SetPriority()设置中断的优先级别了,这里中断线我们选择 EXTI9_5 因前面介绍了中断线和中断服务 函 数 的 对 应 关 系 , 引 脚 PC8 对 应 的 中 断 服 务 函 数 是EXTI9_5_IRQHandler()。 

4、烧录到开发板调试、验证代码

5、检验效果 

按下 KEY1 看到LED1 亮起,再次按 KEY1 键 LED1 熄灭。_______________________________________________________________

STM32F103RCT6开发板——全集成开发板,让开发更简单!

【全集成设计】 STM32F103RCT6开发板,采用全集成设计,集成了多种传感器和接口,让你的原型设计和开发工作更加高效。

【资料全】 我们提供详尽的开发文档、示例代码和教程,无论你是初学者还是资深开发者,都能快速上手,轻松开发。

【功能强大】 这款开发板搭载了高性能的STM32F103RCT6微控制器,具备丰富的外设和接口,满足你的各种开发需求。

【接口丰富】 USB、串口、I2C、SPI等多种接口一应俱全,支持各种外设扩展,让你的创意无限延伸。

【开发便捷】 无论是嵌入式系统开发、物联网项目还是智能家居控制,STM32F103RCT6开发板都能成为你的强大助手。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通用树查找算法

想要一个树形控件来显示数据,却发现Racket的GUI库竟然没有提供这个控件。既然没有,那就自己手搓一个吧。没想到,在做这个控件中竟然有了新发现! 树形控件有一个功能是查找树中指定的节点。这就是接下来的故事的起点。 1 找外援 不…

“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton

“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton在神经网络领域数十年如一日的研究,对深度学习的推动和贡献显著。 一、早期贡献与突破 反向传播算法的引入:Hinton是将反向传播(Backpropagation)算法引入多层神经网络训练的…

SOLIDWORKS参数化设计插件 慧德敏学

SOLIDWORKS软件是法国达索公司的产品,最初是满足欧美一些工程师产品设计需要而开发的,并没有考虑中国的企业实际情况。我们为满足国内客户的需要,对SOLIDWORKS进行了二次开发,借助SolidKits.AutoWorks参数化工具,通过一…

106、python-第四阶段-3-设计模式-单例模式

不是单例类,如下: class StrTools():pass str1StrTools() str2StrTools() print(str1) print(str2) 运用单例,先创建一个test.py class StrTools():pass str1StrTools()然后创建一个hello.py,在这个文件中引用test.py中的对象&a…

多尺度注意力创新

深度之眼17种多尺度注意力创新

蓝牙资讯|2024年Q1全球个人智能音频设备出货量达到9000万台

Canalys 发布了最新研究报告:2024 年第一季度,全球个人智能音频设备市场呈回暖的迹象,同比增长 6%,出货量超 9000 万台。数据显示,本季度的增长主要得益于 TWS 真无线蓝牙耳机和无线头戴式耳机的强劲表现,两…

Thesios: Synthesizing Accurate Counterfactual I/O Traces from I/O Samples——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理 问题 在设计大规模分布式存储系统时,I/O活动的建模至关重要。具有代表性的/O跟踪,可以对现有硬件、配置和策略进行详细的性能评估。假设跟踪进一步支持分析假设情况,例如部署新的存储硬件、更改配置和修…

EverWeb 强大的零基础Mac网页设计制作软件

搜索Mac软件之家下载EverWeb 强大的零基础Mac网页设计制作软件 EverWeb 4.2是非专业网页设计师的绝佳网页制作工具,无需编码即可创建美观、响应迅速的网站。只需拖放自己的图像、文本和其他任何html元素到网页布局的任何位置。 EverWeb的功能特性: 下…

企业公户验证API在Java、Python、PHP中的使用教程

在金融和商业领域,企业公户验证API是一种用于验证企业对公账户的真实性和合法性的技术解决方案。这种API通常由金融机构或第三方服务提供商提供,旨在帮助企业加快账户认证流程,提高效率,降低审核成本,并确保符合法规要…

手机短信删除怎么恢复?快速找回的3个秘密武器

手机,这个我们每天离不开的小玩意儿,有时候也会让我们头疼不已。比如,你一不小心,或者为了清理点空间,就把那些重要的短信给删了。这些短信可能是你和好友的深夜聊天,或者是重要的工作信息。一旦删除&#…

matplotlib绘制三维曲面图时遇到的问题及解决方法

在使用 Matplotlib 绘制三维曲面图时,可能会遇到一些常见的问题。今天我将全程详细讲解下遇到问题并且找到应对方法的全部过程,希望能帮助大家。 1、问题背景 在使用 matplotlib 绘制三维曲面图时,遇到了一个问题。代码如下: im…

走进 Apache 世界的另一扇大门

引言 作为热爱技术的你,是否也羡慕 Apache PMC 或者 Committer,此篇文章渣渣皮带你迈出如何成为技术大牛的第一步。 当然我现在还是一枚小小的 code contributor,在成为 committer 的路上还在奋力打码中,写这篇文章也是为大家有…

NAT技术

目录 前言一、NAT的基本思想二、NAT的局限性总结 前言 IP地址短缺问题并不是一个只有在将来某个时候可能发生的理论问题。现在,此时此地,这个问题已经发生。对于整个Internet而言,长期的解决方案是迁移到IPV6,它有128位地址。这个…

如何免费使用(白瞟)最新的开源大模型?

下面介绍两个可以免费白瞟开源大模型的网站,一个是国内的ModelScope ,点击链接注册后进入右上方的司南评测即可,界面效果如下,最新开源的Qwen2-72B也可用的噢! 另外一个 是LMSYS和UC伯克利分校联合开发的全球大模型测评平台Chatbo…

数据结构——算法和算法效率的度量

目录 一、引言 二、算法 1 算法的基本概念 2 算法的复杂度 2.1 时间复杂度 2.1.1 概念 2.1.2 大O的渐进表示 3 算法的空间复杂度 3.1 概念 3.2 实例 4 实例分析 5 结论 一、引言 大家在写代码的时候有没有发现写同样功能的代码有多种不同的写法,而不同的代…

遇见桂林山水画廊,深层互联自动讲解耳机走进漓江

遇见山水,听懂山水。由深层互联独家打造,桂林漓江山水画廊导览工程,于不久前正式启动,声情并茂的真人语音引导着游客,走进有声有色的山水画卷中。 桂林山水甲天下,得天独厚的自然景观,奇幻瑰丽…

matlab使用教程(92)—流线图、流带图和流管图

1.使用向量数据显示流线图 MATLAB 向量数据集 wind 代表北美地区的气流。本示例结合使用了几种方法: 利用流线跟踪风速 利用切片平面显示数据的横截面视图 利用切片平面上的等高线提高切片平面着色的可见性 1.1确定坐标的范围 加载数据并确定用来定位切片平面…

【WEEK15】 【DAY3】Scheduled Tasks【English Version】

2024.6.5 Wednesday Following 【WEEK15】 【DAY2】【DAY3】Email Tasks【English Version】 Contents 17. Asynchronous, Scheduled, and Email Tasks17.3. Scheduled Tasks17.3.1. Two Annotations:17.3.2. Cron Expression17.3.3. Modify Springboot09TestApplication.java …

html5实现端午节网站源码

文章目录 1.设计来源1.1 端午首页页面1.2 端午由来页面1.3 端午图集页面1.4 端午活动页面1.5 给我留言页面 2.效果和源码2.1 动态效果2.2 目录结构 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/139524377 ht…

工作备忘录软件有哪些 记事备忘提醒三合一的备忘录

在工作中,我总是觉得自己脑子好像不够用,一会儿是这个项目的进度要跟踪,一会儿是那个会议的要点要记录。每天都在忙碌与混乱中度过,我甚至开始怀疑自己是否适合这份工作。 备忘录不仅是一个简单的记事工具,像敬业签这…