STM32_TIM定时-中断

发布者:科技奇才最新更新时间:2021-01-16 来源: eefocus关键字: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定时的几点内容。

 

一、定时器时钟


使能时钟:RCC_APB1Periph_TIM3。

二、定时器配置



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

函数在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_EXIT中断
下一篇:STM32F0xx_USART收发配置详细过程

推荐阅读最新更新时间:2024-11-11 09:38

STM32——EEPROM
一、I2C接口读写EEPROM(AT24C02) ——主模式,分别用作主发送器和主接收器。通过查询事件的方式来确保正常通信。 1、I2C接口初始化 与其他对GPIO 复用的外设一样,它先调用了用户函数I2C_GPIO_Confi g() 配置好 I 2 C 所用的 I/O端口,然后再调用用户函数 I2C_Mode_Confi gu() 设置 I 2 C 的工作模式,并使能相关外设的时钟。 void I2C_EE_Init(void) { I2C_GPIO_Config(); I2C_Mode_Config(); /* 根据头文件 i2c_ee. 14 h 中的定义来选择 EEPROM 要写入的地址 */
[单片机]
<font color='red'>STM32</font>——EEPROM
STM8S003F3使用总结——定时
STM8S003F3有三个定时器,分别为16位高级定时器TIM1、16位通用定时器TIM2和8位基础定时器TIM4。其中,TIM1和TIM2支持PWM输出,本项目中用到了TIM1-CH1和TIM2-CH1两个通道作为PWM输出,以及TIM4作为时基,下面进入正文。 编译环境:IAR for STM8 3.10.2 库版本:V2.2.0 1.定时器 关于定时器没什么好说的,直接看下配置代码 void TIM1_Init(u16 psc, u16 arr, u16 duty) { TIM1_TimeBaseInit(psc, TIM1_COUNTERMODE_UP, arr, 0); TIM1_OC1Init(T
[单片机]
STM8S003F3使用总结——<font color='red'>定时</font>器
STM32复习笔记(十五)红外遥控
一、红外遥控器介绍: 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。 同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。 红外遥控的编码目前广泛使用的是:NEC Protocol 的PWM(脉冲宽度调制)和Philips RC-5 Protocol 的PPM(脉冲位置调制)。 二、红外遥控器和红外接收头外形: 接收头: OUT , GDN, 3.3V 三、NEC协议特征: ①8位地址和8位指令长度; ② 地址和命令2次传输(确保可靠性) ③ PWM脉冲宽度
[单片机]
<font color='red'>STM32</font>复习笔记(十五)红外遥控
STM32 FSMC学习笔记
FSMC全称 灵活静态存储器控制器 。 FSMC 包括4个模块: (1)AHB接口(包括FSMC配置寄存器) (2)NOR闪存和PSRAM控制器(驱动LCD的时候LCD就好像一个PSRAM的里面只有2个16位的存储空间,一个是DATA RAM 一个是CMD RAM) (3)NAND闪存和PC卡控制器 (4)外部设备接口 每个模块通过片选信号控制 -------------------------------------------------------------------------------------------------- 硬件电路(这里给出的是非复用连接) 可以这样接 地址线A0 接 RS NE接 C
[单片机]
<font color='red'>STM32</font> FSMC学习笔记
51单片机的延时及定时
经常看些东西,有时在书上,有时在网上,还有的是突然醒悟,也该做一些总结,最近想总结一下单片机的定时以及延时问题。 单片机主要是两种延时方式: 1.硬件延时:要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时; 2.软件延时:软件延时有时候不能够做到非常精确地延时,主要靠循环体或是一些无意义的指令来完成。 单片机都有一个属于自己的晶振频率:11.0592Mhz(主要是为了设置波特率的方便),12Mhz,6Mhz等(后面的例子全都用12M晶振)。对于12Mhz的晶振频率,一个机器周期为1us,对于51单片机的库函数就有nop()这个函数(调用时需要#include intrins.h ),实现延时一个
[单片机]
STM32串口配置(基于uC/OS)
在uC/OS下,串口配置与不使用uC/OS基本相同,但中断处理有些差别。在uC/OS下取消了固件库中的stm32f10x_it.c文件,去而代之的是app_vect_v5.c. 下面是几个中断处理的函数: bsp_int.c提供几个关键的中断操作函数: void BSP_IntDis (CPU_DATA int_id) //关闭指定中断 void BSP_IntDisAll (void) //关闭所有中断 void BSP_IntEn
[单片机]
PIC单片机之中断程序
什么是中断程序呢? 形象的生活比喻就比如你现在这在看我的文章,突然你的朋友喊你一起去烤地瓜,这时候你就中断了看文章和朋友烤地瓜去了,烤完地瓜之后你又回来看文章。烤地瓜这件事就好比中断程序,他中断了你看文章这件事。在程序方面来说 当CPU在执行一个程序的时候,突然产生了中断事件CPU就去执行中断程序了,当执行完成后CPU又回来执行原先的程序。 中断事件 什么是中断事件,就是引起中断的事件。对于单片机来说这些事件是多种多样的。比如 说一个按键按下,一定的时间到了,一串数据发送完毕,或接收完一个数据。 讲到中断不得不讲讲和中断相对的 查询。其实不管是按键按下 还是 时间到,还是数据发送完毕,这些事实上都可以用查询的方式办到。比如
[单片机]
STM32】RTC实时时钟,步骤超细详解,一文看懂RTC
什么是RTC RTC (Real Time Clock):实时时钟 RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。 在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。 RTC实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断)。但其高级指出也就在于掉电之后还可以正常运行。 两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时( 12 或 24 小
[单片机]
【<font color='red'>STM32</font>】RTC实时时钟,步骤超细详解,一文看懂RTC
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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