STM32之定时器

一、简介

STM32F4xx系列共有14个定时器,其中2个高级定时器、10个通用定时器、2个基本定时器。下图

为各定时器及其功能。

图1.各定时器及其功能

二、定时器的计数模式

向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。

向下计数模式:计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。

三、时基单元

图2.各个定时器所挂载在总线上的情况

定时器的时钟源:定时器TIM2~TIM5和TIM12~14挂接在APB1上,定时器TIM1和TIM8~TIM11挂接在APB2上,若外部晶振的频率为8MHz,则系统默认的时钟频率为72MHz(即AHB=72MHz)。若将APB1预分频器的分频系数设置为2,则PCLK1=36MHz。由图2可以看出,若APB1预分频系数不等于1,则定时器TIM2~TIM7的时钟频率是APB1频率的2倍,即TIM2~TIM7的时钟频率 TIMxCLK=(AHB/2)x2=72MHz;若APB2预分频系数设置为1,则PCLK2=72MHz,TIM1和TIM8 的时钟频率 TIMxCLK=72MHz。

定时器的时基单元:

图3.

预分频器(PSC):一般为16位,对时钟源CK_PSC的时钟频率进行分频,输出的脉冲供计数器计数。

自动重装寄存器(ARR):用于装载计数器的最大计数值。

计数器(CNT):当计数值达到自动重装寄存器(ARR)所设定的值时,会产生溢出事件,如果使能了中断功能,就会溢出一个中断,再由自动重装寄存器进行重新加载或更新。

定时时间的计算公式:定时时间=(ARR+1)*(PSC+1)/输入时钟频率。

四、输入捕获

输入捕获可以用于捕获外部事件(如对输入信号的上升沿、下降沿或者双边沿进行捕获),常用于测量输入信号的的脉宽和测量PWM输入信号的频率和占空比。

五、输出比较

用于控制输出信号的波形,当计数器的值与捕获/比较寄存器的值相等时,输出比较做出相应的电平变化。

相关推荐
heisd_122 分钟前
STM32时钟系统对于STM32F1系列(详解)
stm32·单片机·嵌入式硬件
应用市场34 分钟前
STM32 ADC底层原理与寄存器配置详解
stm32·单片机·嵌入式硬件
d111111111d1 小时前
STM32外设学习--DMA直接存储器读取--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
一支闲人2 小时前
OLED代码演示-使用缓存区
stm32·单片机·嵌入式硬件·oled模块
点灯小铭2 小时前
基于单片机的噪声波形检测与分贝测量仪设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
奋斗的牛马3 小时前
硬件基础知识-电容(一)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
Nuyoah11klay4 小时前
华清远见25072班单片机基础学习day1
单片机·嵌入式硬件·学习
icy、泡芙6 小时前
移远 5G RG255AA-CN 调试
linux·单片机·5g
时空自由民.6 小时前
MCU 内存栈介绍和内存段
单片机·嵌入式硬件
YeGop6 小时前
51单片机定时器函数分享(8051汇编)
汇编·嵌入式硬件·51单片机