使用STM32CubeMX配置定时器中断实现LED每秒闪烁一次(STM32G070CBT6)

说明:

本案例采用的定时器3(TIM3)实现,使用其他定时器是一样配置。

如何新建一个工程以及如何配置LED的端口,请查看前面文章:使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)-CSDN博客

1.配置SYS

2.配置RCC

3.配置系统时钟

此处配置系统时钟为64MHz。

注意!!!

此处系统时钟要采用HSI,如果采用HSE则将不能实现功能。

4.配置定时器TIM3

定时时间计算公式:

定时时间 = (Prescaler+1)× (Counter +1)/ 定时器时钟频率

例如,这里定时时间为 10ms,可设置Prescaler = 64-1;Counter = 10000 - 1;(TIM3时钟频率设置为64MHz)

(1)配置定时器

(2)配置定时器中断

5.点击生成文件。

6.添加代码实现功能

要想使用定时器3,那么需要先将其打开。采用如下函数打开。

HAL_TIM_Base_Start_IT(&htim3);    //开启定时器3

要实现LED闪烁,还需要增加定时器回调函数,在其中添加LED闪烁功能代码。

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{static unsigned char count = 0;if(htim->Instance == TIM3)    //处理TIM3间隔定时中断{count++;if(count >= 50)    //10ms*50=500ms{count = 0;HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);    //每500ms翻转一次,LED每秒闪烁一次}}
}

main.c文件中的代码:

//要增加的代码
//定时器回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{static unsigned char count = 0;if(htim->Instance == TIM3)    //处理TIM3间隔定时中断{count++;if(count >= 50)    //10ms*50=500ms{count = 0;HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);    //每500ms翻转一次,LED每秒闪烁一次}}
}int main(void)
{HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_TIM3_Init();HAL_TIM_Base_Start_IT(&htim3);    //要增加的代码,开启定时器3while (1){}}

7.实现现象

定时器实现LED每秒闪烁一次

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

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

相关文章

暴力破解Excel受保护的单元格密码

暴力破解Excel受保护的单元格密码 分享一个暴力破解Excel受保护的单元格密码的方法 第一步 在Excel中按下Alt F11,打开Visual Basic for Applications(VBA)编辑器。 第二步 在VBA编辑器中,点击插入菜单,选择模块…

Git常用操作之GitLab

Git常用操作之GitLab 小薛博客官网:小薛博客Git常用操作之GitLab官方地址 1、GitLab安装 https://gitlab.cn/install/ 1、Docker安装GitLab https://docs.gitlab.cn/jh/install/docker.html 1、设置卷位置 在设置其他所有内容之前,请配置一个新的…

pgsql创建新用户并赋只读权限

在 PostgreSQL 中,为新用户赋予只读权限的步骤如下: —### 1. 创建新用户首先,创建一个新用户(角色),并设置密码:sqlCREATE ROLE 用户名 WITH LOGIN PASSWORD 密码;例如:sqlCREATE R…

数据结构与算法——算法3 面试常用排序算法

首先了解排序算法性能和优缺点 然后了解快排 和堆排序的方法。 可以参考如下的博客 八大排序(超详解附动图源码)

linux root丢失修改密

在RHEL7下重置密码 第一种方式:光驱进入急救模式 //做之前最好 selinuxdisabled Conntinue 然后chroot /mnt/sysimag 然后编辑/etc/shadow文件 第二种方式: 1:编辑启动菜单按e,找到linux16行,在行尾加入 init/bin/sh,同时在…

数据类设计_图片类设计之3_半规则图类设计(前端架构基础)

前言 学的东西多了,要想办法用出来.C和C是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容 引入 接续上一篇讨论半规则图类型的设计 半规则图的定义 什么是半规则图?笔者看见了一些似乎规则又不是太规则的图形,例如带圆角的矩阵,在页面上找一个圆角框 为了…

Qt 信号与槽机制

1. 信号 和 槽 Qt 信号与槽机制 是一种用于对象间通信的低耦合设计模式,核心思想是:当某个信号触发,自动调用预先关联的处理函数(槽函数)。 在 Qt 中,如果一个类需要使用信号与槽机制,则该类必…

实验8 搜索技术

实验8 搜索技术 一、实验目的 (1)掌握搜索技术的相关理论,能根据实际情况选取合适的搜索方法; (2)进一步熟悉盲目搜索技术,掌握其在搜索过程中的优缺点; (3)…

区块链知识点2

1.用非对称加密方式传输对称加密的密钥 2.数字签名:私钥加密,公钥解密 3.RSA由于计算较大,通常用于数字签名和密钥交换,而非直接的数据加密。 4.签名过程 发送方A将消息用Hash算法产生一个消息摘要(Message Digest) 发…

消费级显卡上ollama部署QwQ32B

ollama部署QwQ32B QwQ32B硬件要求 魔改2080ti 的 22G 显存差不多够用 ollama中的是Q4_K_M量化模型 硬件配置模型推理模型高效微调模型全量微调显存占用最低配置显存占用最低配置显存占用最低配置FP_1664GRTX3090*4(94G)92GRTX3090&#xff0a…

万字长文详解嵌入式电机软件开发

目录 第一章:嵌入式电机概述 1.1 电机类型:选对 “主角” 有多重要? 1.2 嵌入式系统特点:硬件的 “灵魂” 靠什么支撑? 第二章:开发环境搭建 2.1 硬件平台选择:给 “大脑” 找个好载体 2.1.1 ARM Cortex 系列:全能选手 2.1.2 AVR 微控制器:简约而不简单 2.1.3 …

python-54-使用环境变量库python-dotenv进行应用程序配置参数的管理

文章目录 1 python-dotenv简介1.1 十二因素原则1.1.1 引言1.1.2 背景1.1.3 十二因素1.2 python-dotenv概述2 python-dotenv应用2.1 文件.env2.2 方式一load_dotenv()2.3 方式二dotenv_values()2.4 指定配置文件路径3 Flask结合dotenv3.1 Flask的config3.2 结合使用4 代码中的配…

How to introduce a new product in English?

How to introduce a new product in English? References Introducing a new product Forever: Yeah, sure. Today I am glad to announce [əˈnaʊns] that our new App has made it through the final testing stage. The name of the new App is on-device Stable Diffus…

数字电路 | 触发器 / 单稳态触发器 / 双稳态触发器

注:本文为 “数字电路 | 触发器” 相关文章合辑。 如有内容异常,请看原文。 未整理。 数字电路基础 — 触发器 Oliver-H 已于 2024-04-07 15:06:25 修改 触发器(Flip-Flop) 也是数字电路中的一种具有记忆功能的逻辑元件。触发…

SSM基础专项复习5——Maven私服搭建(2)

系列文章 1、SSM基础专项复习1——SSM项目整合-CSDN博客 2、SSM基础专项复习2——Spring 框架(1)-CSDN博客 3、SSM基础专项复习3——Spring框架(2)-CSDN博客 4、SSM基础专项复习4——Maven项目管理工具(1&#xff…

【Java 基础(人话版)】进制转换

进制的简单介绍 整数可以使用四种不同的进制表示方式: 二进制 (Binary):由 0 和 1 组成,满 2 进 1,以 0b 或 0B 开头表示。十进制 (Decimal):由 0-9 组成,满 10 进 1,是最常用的数值表示方式。…

11.anaconda中的jupyter使用、及整合dataspell

目录 概述jupyterjupyter notebook1.生成配置文件修改notebook保存目录问题问题2,无法获取token 安装 DataSpell注意配置运行环境DataSpell 使用 概述 前置安装如有问题: 1.Python、anaconda介绍、安装及使用 jupyter jupyter notebook 1.生成配置文…

蓝桥杯 之 回溯之充分剪枝

文章目录 买瓜最大数字 在蓝桥杯当中,对于回溯是属于一个必考的问题,但是除了回溯的几个基本的问题,如果通过剪枝来提前删去无效的分支,以大大减少时间复杂度是需要我们进一步思考的问题!回溯的基本问题: 回…

【春招笔试】2025.03.13-蚂蚁春招笔试题

题目总结 题目一:区间未出现的最小值之和 1️⃣:统计全为1的子数组数量和全为0的子数组数量,利用公式计算 2️⃣:利用数学公式 n(n+1) - 2N0 - N1 计算最终答案 难度:中等 这道题目的关键在于理解 mex 的概念,并发现对于只含 0 和 1 的数组,mex 值只可能是 0、1 或 2。…

iOS 模块化架构设计:主流方案与实现详解

随着 iOS 工程规模的扩大,模块化设计成为提升代码可维护性、团队协作效率和开发灵活性的关键。本文将探讨为什么需要模块化,介绍四种主流的模块化架构方案(协议抽象、依赖注入、路由机制和事件总线),并通过代码示例和对…