STM32—控制蜂鸣器(定时器)

news2024/11/15 13:04:40

目录

1 、 电路构成及原理图 

2 、编写实现代码 

main.c

 tim_irq.c

3、代码讲解

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

5、检验效果 


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

1 、 电路构成及原理图 

定时器中断是利用定时器的计数功能(向上计数或向下计数)当计数溢出时产生中断。不难理解,使用也很简单但就是很重要。使用的过程是初始化定时器基本计数方式、开启定时器中断、设置中断优先级、使能中断就完成了 

2 、编写实现代码 

main.c

 tim_irq.c

3、代码讲解

正常的初始化定时器 2---TIM2 向上计数模式并通过函数: 
HAL_TIM_Base_Start_IT(&TIM2_Handler);  开启 TIM2 的中断。 

紧接着进行 TIM2 的底层初始化: 
HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim),这个底层初始化
过程会在 HAL_TIM_Base_Init(&TIM2_Handler);中调用。 

底层初始化主要是设置中断优先级,这里设置抢占优先级为 2,
子优先级为 2。HAL_NVIC_SetPriority(TIM2_IRQn,2,2); 

 之 后 写 定 时 器 中 断 函 数 也 是 调 用 HAL 库 定 时 器 中 断 函 数
HAL_TIM_IRQHandler(&TIM2_Handler);  

最后在中断回调函数里翻转端口 PC5 电平实现蜂鸣器间歇发声。蜂鸣器引脚连接在 PC5. 

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

用朗峰 F1 开发板配的 ST-LINK 下载器,连接到开发板的 SWD 插针上注意引脚对应关系,不要插错了。 然后编译一次(按 ),编译结果显示 0 错误 0 警告就 OK 。之后再按将代码下载到开发板。(可参考之前的笔记)

5、检验效果 

连接好开发板电源并按下电源开关,这时就可以听见蜂鸣器有节奏间歇的响起了.

STM32F103RCT6开发板——全集成开发板,外设齐全

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

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

相关文章

Web前端—CSS属性计算过程

属性计算过程 CSS 属性计算过程1. 确定声明值2. 层叠冲突比较源的重要性比较优先级比较次序 3. 使用继承4. 使用默认值 CSS 属性计算过程 我们所书写的任何一个 HTML 元素,实际上都有完整的一整套 CSS 样式(该元素上面会有 CSS 所有的属性。&#xff0…

Windows 7 一键恢复 - 联想拯救系统

Windows 7 一键恢复 - 联想拯救系统 1. 联想拯救系统1.1. OEM 分区1.2. 一键恢复 References 1. 联想拯救系统 1.1. OEM 分区 计算机 -> 管理 -> 存储 -> 磁盘管理 1.2. 一键恢复 重新启动电脑 F11 -> 从初始备份恢复 References [1] Yongqiang Cheng, https…

实在数字员工,助力菜鸟智慧物流高效腾飞,领航行业新高度

秉承人人都有一个智能助理的发展愿景,自2023年首个数字员工落地以来,菜鸟数字员工累计运行时长已达10万小时。 在智能物流科技不断飞速迭代的今天,物流行业作为社会经济运行的重要支柱和电子商务生态链的关键环节,面临着前所未…

Python灰帽子网络安全实践

教程介绍 旨在降低网络防范黑客的入门门槛,适合所有中小企业和传统企业。罗列常见的攻击手段和防范方法,让网站管理人员都具备基本的保护能力。Python 编程的简单实现,让网络运维变得更简单。各种黑客工具的理论和原理解剖,让人知…

PLC常用通信协议应用

PLC通信协议 ModbusModbus协议介绍Modbus协议的应用Modbus通信模式 Modbus RTU通讯Modbus RTU报文映射寄存器常见功能码数据类型Modbus CRC校验计算Modbus RTU举例(读位)Modbus RTU举例(读字) Modbus TCP协议应用TCP数据帧Modbus …

Spring IOC 容器的加载过程(bean 的创建过程)

Spring IOC 容器的加载过程(bean 的创建过程) 配置Bean 通过xml或者是Component Bean 等进行配置 解析Bean,得到BeanDefinition定义对象 通过 BeanDefintionReader 将 bean 进行解析,准备要创建的bean对象的定义对象BeanDefinition,存放到Be…

Elasticsearch 索引模板、生命周期策略、节点角色

简介 索引模板可以帮助简化创建和二次配置索引的过程,让我们更高效地管理索引的配置和映射。 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(hot)、温(warm)和冷(cold)数…

尽可能使用清晰、统一的方式初始化所有对象:列表初始化。【C++】

不管是为了统一性,还是避免发生窄化转换,尽可能使用初始化列表。 说明哪些对象可以使用列表初始化?代码演示 说明 C11 引入了列表初始化(也称为统一初始化或初始化列表),它是一种使用花括号 {} 来初始化对…

对象实例化在bean注入之前导致@Autowired失效

开发时遇到一个问题,Springboot的Autowired失效,无法注入bean,获取的到的mqttProperties一直为空。 MqttProperties定义: 业务代码: 按理来说,我的MqttProperties和当前类 NettyMqttClient都注册为了bea…

铁道障碍物检测6种YOLOV8

铁道障碍物检测6种,采用YOLOV8训练,得到PT模型,然后转换成ONNX模型,OPENCV调用 铁道障碍物检测6种YOLOV8

YOLOv8 | 注意力机制 | 添加ECA注意力机制

目录 原理简介 代码实现 yaml文件实现 检查是否添加执行成功

教大家几种解决msvcr120.dll文件丢失的问题以及解决办法

当这个msvcr120.dll文件丢失或损坏时,依赖它的程序可能无法启动或正常运行,这可能影响电脑的使用效率。如果用户遇到因缺少msvcr120.dll而导致的程序错误,安装或修复这个msvcr120.dll文件是一种维护措施,可以帮助恢复软件的正常功…

【python从入门到精通】--第一战:安装python

🌈 个人主页:白子寰 🔥 分类专栏:python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文…

餐饮连锁食品安全标准落实难?悠络客AI巡检,用SOP AI化守护“舌尖上的安全”

食品安全与卫生问题一直是全民关注的焦点,从民生角度,民以食为天,食品安全关系到消费者的身体健康和生命安全;从企业角度,品牌建设不易,一旦出现食品卫生安全问题,不仅会带来直接经济损失&#…

Web实战:采用JSP+ Servlet + DB实现用户登录功能

文章目录 一、项目运行效果二、项目实现步骤三、项目实战总结 一、项目运行效果 二、项目实现步骤 三、项目实战总结 本实战项目采用了JSP Servlet DB的组合,搭建了一个简单的用户登录功能。通过创建数据库、用户表、Jakarta EE项目,以及编写用户实体类…

慧天【HTWATER】软件是什么?在城市内涝水文水动力耦合模拟中如何应用小李15833332534

慧天[HTWATER]软件简介 针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存储。可以对分流制排水系统及合流制排水系统进行地表水文、管网水力、水质过程的模拟计算。可以对城市低影响开发…

Linux命令学习入门

文章目录 登录注销关机重启Vim编辑器快捷键文件目录类打包、解包、压缩和解压指令输出重定向>和追加>>指令时间日期类搜索查找类用户管理文件所有者所在组权限管理变更权限crond任务时间调度crond相关指令:特殊符号说明: at定时任务磁盘分区磁盘…

力扣HOT100 - 1. 两数之和

解题思路&#xff1a; 解法一&#xff1a;暴力 class Solution {public int[] twoSum(int[] nums, int target) {int n nums.length;for (int i 0; i < n; i)for (int j i 1; j < n; j) {if (target nums[i] nums[j])return new int[] { i, j };}return new int[…

复盘一下我用过的设计模式

建造者模式 保卫萝卜中使用了建造者模式。UML图如下&#xff1a; 接口&#xff1a; public interface IBuilder<T> {//获取到游戏物体身上的脚本对象&#xff0c;从而去赋值T GetProductorClass(GameObject gameObject);//使用工厂去获取具体的游戏对象GameObject GetP…

探索生成式AI Agent,让公众自动化触手可及

在科技浪潮的推动下&#xff0c;AI Agent市场正经历深刻变革。Kognitos智能RPA厂商凭借675万美元融资和生成式AI自动化的定位&#xff0c;吸引业界关注。然而&#xff0c;微软早已将ChatGPT融入Power Platform&#xff0c;提供低代码应用开发体验&#xff0c;引领市场。初创公司…