STM32F103基本定时器

查看中文参考手册

定时器简介在这里插入图片描述

基本定时器有两个TIM6和TIM7,各包含一个16位的自动装载计数器,可以从0计数到2^16-1.

TIM6和TIM7的主要特性

在这里插入图片描述
先看图中的时钟部分,只有一个来自RCC的TIMxCLK内部时钟,查看数据手册中结合下图可得该时钟的频率为72MHz。在这里插入图片描述
接着时钟线通过控制器(需要使能),到达预分频器。预分频器PSC的作用是将频率做除法(分频的范围是1~65536),比如二分频就是将72MHz处理成36MHz;最后经过分频后的信号到达CNT计数器开始计数,并由自动装载寄存器在数计满时重装初值,若开启计时器中断则进入中断。

定时器的功能

时基单元

在这里插入图片描述
时基单元有三个寄存器,计数器寄存器(TIMx_CNT)、预分频寄存器(TIMx_PSC)、自动重装载寄存器(TIMx_ARR)。
在这里插入图片描述在这里插入图片描述
fck_psc就是时钟频率72MHz,那么分频过程就是72MHz/(这个寄存器中的值+1).得到的结果就是分频后的频率。
在这里插入图片描述

预加载寄存器

这个自动装载寄存器和前面的系统滴答定时器(SysTick) 相比多了一个预加载寄存器这个预加载寄存器相当于一个缓冲的作用,如果计数器的重装载值为100、当前计到了51且你开启了这个预加载寄存器,这时你更改自动装载寄存器的值为50.那么由于预加载寄存器这个缓冲作用定时器会继续计数到计满100产生更新事件UE(后面讲到),之后你更改的重装值才会生效。当然如果你不开预加载寄存器的话你更改的重装值会立即生效。
如何开启这个寄存器?对TIMx_CR1中的ARPE位(自动重装预加载使能位)写0或1来关闭或开启。

使能定时器

设置TIMx_CR1寄存器中的计数器使能位(CEN)使能计数器
计数。

预分频器

在这里插入图片描述
在这里插入图片描述
可以看到分频数值从0变到1造成时钟频率的改变,但是预分频器控制寄存器的值改变之后的一段时间内时钟线CK_CNT并未改变频率,当更新事件到来后频率才改变。

计数模式在这里插入图片描述

EGR时间产生寄存器

在这里插入图片描述
这个寄存器UG位由软件写1的话,产生更新事件重新初始化定时器,每次计数器溢出时可以产生更新事件;(通过软件或使用从模式控制器)设置TIMx_EGR寄存器的UG位也可以产生更新事件。

TMX_CR1寄存器

在这里插入图片描述
在这里插入图片描述
CEN位:写1开计数器
UDIS位:禁止更新事件产生,只能通过写UG位触发硬件复位来产生更新事件。
URS位:选择产生中断的方式。

状态寄存器TIMx_SR

在这里插入图片描述
UIF位:产生中段硬件自动置为该位,软件在中断中清除该位。

时钟源

在这里插入图片描述

代码

以TIM6为例
1、开时钟
在这里插入图片描述
基本定时器TIM6和TIM7挂在APB1时钟线上,那么需要开启APB1 TIM6的时钟。
在这里插入图片描述
在这里插入图片描述
RCC_APB1ENR寄存器的第4位置1:
RCC_APB1ENR|=(1<<4);
2、根据框图和需求配置定时器

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32F103内部定时器包括基本定时器、通用定时器和高级定时器基本定时器包括TIM6和TIM7,它们是16位定时器,只能向上计数,没有捕获和比较通道。通用定时器包括TIM2、TIM3、TIM4和TIM5,它们是16位定时器,可以向上计数和向下计数,具有定时、输出比较和输入捕捉功能,每个通用定时器有4个外部IO口。高级定时器包括TIM1和TIM8,它们也是16位定时器,可以向上计数和向下计数,具有定时、输出比较、输入捕捉和输出三相电机互补信号的功能,每个高级定时器有8个外部IO口。\[1\] 对于STM32F103VC这款单片机,它具有两个高级定时器TIM1和TIM8。这两个高级定时器可以同时产生3路互补带死区时间的PWM信号和一路单独的PWM信号,还具有刹车输入功能,可以在紧急情况下切断PWM信号的输出。它们还支持针对定位的增量编码器和霍尔传感器电路。\[2\] 基本定时器和通用定时器的初始化相对简单,只需要设置定时器的周期值和时钟分频系数即可。如果需要使用中断功能,还需要设置NVIC寄存器来设置中断优先级。\[3\] #### 引用[.reference_title] - *1* [STM32F103定时器(未完待续)](https://blog.csdn.net/weixin_42532643/article/details/118669703)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32F103的11个定时器详解](https://blog.csdn.net/aricchen77/article/details/112298126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32F103基本定时器使用](https://blog.csdn.net/qq_20222919/article/details/120844215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值