STM32_TIM定时- 中断

发布者:DreamyMoon最新更新时间:2024-07-22 来源: elecfans关键字:STM32  TIM定时  中断 手机看文章 扫描二维码
随时随地手机看文章

今天讲解STM32F103定时器定时-中断功能,在昨天定时器延时的软件工程上添加TIM3定时的功能,你们也可以试着将昨天的工程添加修改得到。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cPnJ9KYcXbPsP 访问密码 acd8

工程现象:间隔(定时器定时)500ms LED变化一次, 并且串口打印

STM32F103ZE有8个定时器(TIM1 – TIM8), 改工程以TIM3定时为例。

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90

关于TIM延时,我把重要的几点在下面分别讲述,工程中没有在这里讲述的都是之前就有的,重点讲述的是主题相关的内容。若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。

现将重点讲述关于TIM定时的几点内容。

一、定时器时钟

这里的“时钟配置”函数在bsp.c文件下面;

使能时钟:RCC_APB1Periph_TIM3。

二、定时器配置

函数在timer.c文件下面;

详见每一句后面都有注释。

三、定时函数

函数在timer.c文件下面;

主要是定时ON 和OFF函数,至于为什么是定时ms,这里请参考昨天的讲解。

大致意思:TIM每秒计数1M次(系统时钟72M, 72分频),计数满1000次一个周期,也就是1usX 1000 = 1ms

见timer.h里面的宏定义:TIM3_COUNTER_CLOCK、TIM3_PRESCALER_VALUE、TIM3_PERIOD_TIMING

由这几个宏定义决定延时时间。

四、NVIC配置

函数在bsp.c文件下面;

今天的软件工程使用了中断,因此添加NVIC配置.

五、TIM3中断函数

函数在stm32f10x_it.c文件下面;

主要是处理TIM3定时器中断

六、主函数应用

函数在main.c文件下面;

(定时器)定时500ms跳变LED、打印(发送)字符串。

上面“gTIMTiming_Nms_FlagOver”标志在第五点。


关键字:STM32  TIM定时  中断 引用地址:STM32_TIM定时- 中断

上一篇:STM32_ SPI读写Flash
下一篇:STM32时钟基础内容和常见问题

推荐阅读最新更新时间:2026-03-21 19:35

STM32TIM定时中断功能详解(进阶篇)
一、TIM介绍 1、TIM简介 TIM(Timer)定时器 定时器的基本功能:定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。 即定时触发中断,同时也可以看出,定时器就是一个计数器,当这个计数器的输入是一个准确可靠的基准时钟的时候, 那它在对这个基准时钟进行计数的过程,实际上就是计时的过程。 比如在STM32中,定时器的基准时钟一般都是主频72MHz,如果对72MHz计72个数,计1个数的周期那就是1MHz,1/1MHz=0.000001s,也就是1us的时间,如果对72MHz计72000个数,计1个数的周期那就是1KHz,1/1KHz=0.001,也就是1ms的时间。 STM32的定时器拥有16位计
[单片机]
<font color='red'>STM32</font>中<font color='red'>TIM</font><font color='red'>定时</font><font color='red'>中断</font>功能详解(进阶篇)
STM32学习笔记——高级定时TIM1更新中断配置
stm32高级定时器TIM1,更新中断初始化配置和普通定时器差别不大,需要注意的是结构IM_TimeBaseInitTypeDef中TIM_RepetitionCounter配置问题。TIM_RepetitionCounte是用来配置重复计数,就是重复溢出多少次才给你来一个溢出中断,只有高级定时器需要配置。下面是官方库中对它的注释: 它对应的寄存器叫TIM1_RCR.如果这个值不配置,上电的时候寄存器值可是随机的,本来1秒中断一次,可能变成N 秒中断一次。下图是stm32参考手册中对该寄存器的详细解释: 总结一下高级定时器溢出中断配置的步骤: 1,时钟使能 2,配置预分频、自动重装值和重复计数值 3,清除中断标志
[单片机]
STM32 普通定时器(TIM3)中断 实现流水灯实验
/*********************************************************** 通过定时器TIM3产生间隔时间为1秒的中断,在中断响应 函数中控制LED发光二级管,实现流水灯效果 ***********************************************************/ void TimeInit() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; //打开相应的时钟 RCC_APB1PeriphClockCmd(RCC_AP
[单片机]
STM8的TIM4定时器1ms进入中断
TIM4 — 8位基本定时器 ● 8位自动装载可调整的预分频器,比例可选为1~128之间任意的2的幂 ● 时钟源: CPU时钟 ● 中断源: 1个溢出/更新中断 需要实现1ms进入一次中断,可作为系统定时器 TIM4初始化 void Tim4_Init(void) { TIM4_DeInit(); TIM4_TimeBaseInit(TIM4_PRESCALER_64,250-1);//64分频,向上计数,16M/64/250 = 1ms计数完了触发中断 TIM4_ARRPreloadConfig(ENABLE);//使能自动重装 TIM4_ITConfig(TIM4_IT_UPDATE , ENABLE);/
[单片机]
STM32CubeMX(Keil5)开发之路——5定时中断TIM
运行环境 Windows10 STM32CubeMX___Version 5.0.0 Keil5(MDK5)___Version 5.15 简介 本例程主要讲解如何使用定时器实现一个定时器中断,每秒打印一串数据 STM32CubeMx基本配置 基础配置过程请参考 STM32CubeMx(Keil5)开发之路—配置第一个项目 为了方便调试,重定向printf,进行usart设置 1——点击USART1进行设置 2——模式选择Asynchronous异步传输 3——可以看到右边自动出现了Tx和Rx 4——可以自行设置波特率,停止位,校验位等参数 1——点击Clock Configuration进行设置 2——注意这几个地
[单片机]
STM32CubeMX(Keil5)开发之路——5<font color='red'>定时</font>器<font color='red'>中断</font><font color='red'>TIM</font>
一知半解学CubeMX——TIM定时中断实现LED闪烁
一知半解学习环境: 1、CubeMX 4.23.0 2、uVision 5.14.2 3、MCU 启明 STM32F407 开发板(高配版) V3.1 一知半解学习目标: 1、掌握CubeMX下RCC以及SYS的相关配置; 2、掌握CubeMX下GPIO的相关配置; 3、掌握CubeMX下定时器常规中断的配置; 一知半解实现过程: 1、配置系统调试接口及时基时钟源; 2、配置外部高速时钟源(HSE); 3、配置定时器参数(TIM1); 4、根据原理图配置相应GPIO引脚并修改宏定义名称; 5、配置时钟树,主频168M; 6、配置管脚默认输出状态及速率;
[单片机]
STM32通用定时TIM2的使用方法解析
STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。(TIM1和TIM8是能够产生3对PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由APB2的输出产生;TIM2-TIM5是普通定时器;TIM6和TIM7是基本定时器,其时钟由APB1输出产生) 本实验要实现的功能是:用普通定时器TIM2每一秒发生一次更新事件,进入中断服务程序翻转LED1的状态。 预备知识: ① STM32通用定时器TIM2是16位自动重装载计数器。 ② 向上计数模式:从0开始计数,计到自动装载寄存器(TIMx_ARR)中的数值时,清0,依次循环。 需要弄清楚的两个问题: 1
[单片机]
<font color='red'>STM32</font>通用<font color='red'>定时</font>器<font color='red'>TIM</font>2的使用方法解析
如何采用STM32中的控制定时Tim1实现计数器功能
STM32中的高级控制定时器(Tim1)是由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。 用途在于:测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较,PWM,嵌入死区时间的互补PWM等)。 使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。 具体如下: 16位上下,自动装载计数器。 16位可编程预分频器,计数器时钟频率的分频率的分频系数为1-65535之间任意数值,4个独立通道: 输入捕获 输出比较 PWM生成 单脉冲模式输出 死区时间可编程的互补输出 使用外部信号控制定时器和定时器互连的同步电路 在指定数目的计数器周期之后更新定时器寄存器
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved