【STM32F1标准库】理论——定时器/计数器中断

目录

一、定时器/计数器简介

1.通用定时器

2.基本定时器

二、时基单元

三、定时器/计数器结构框图

四、程序运行途中改变分频系数后的时序

1.缓冲器

2.预装器

3.RCC时钟树

五、计时计算方法


一、定时器/计数器简介

定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断

16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时

不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能

根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型

1.通用定时器

高级定时器和通用定时器支持向上计数、向下计数和中央对齐计数三种模式,时钟源可选择内部或者外部

①使用TRGI作为输入时钟,称为"外部时钟模式1"

时钟来源可以是ETR引脚

其他定时器

CH1引脚边沿(TI1F_ED输入捕获单元)

CH1引脚(TI1FP1)和CH2引脚(TI1FP2)

通过TRGO映射以及选通ITR信号可以实现定时器级联,级联表见下

②参考引脚图使用外部时钟,将时钟源接定时器的ETR引脚称为"外部时钟模式2"

2.基本定时器

基本定时器仅支持向上计数模式,时钟源仅可选择内部

二、时基单元

PSC负责对输入时钟频率(默认72MHz)分频,写0代表1分频

CNT负责对分频后的频率进行计数

当计数到达ARR设定的值之后可以触发中断或事件,并且自动将CNT的值清零

三、定时器/计数器结构框图

四、程序运行途中改变分频系数后的时序

1.缓冲器

使用预分频缓冲器,当上一次计数结束后才装载新的分频系数,这样可以保证在完整的一次计数周期内前后计数频率是一致的

计数器计数频率:CK_CNT = CK_PSC / (PSC + 1)

计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1)

= CK_PSC / (PSC + 1) / (ARR + 1)

CK_PSC 是主频72MHz

PSC 是预分频系数

ARR 是自动重装值

2.预装器

预装功能作用和缓冲器类似,只有当记完这一次的数之后才会在下一次计数周期将新的计数值装入寄存器

有预装时序的结构在手册中带有阴影

3.RCC时钟树

五、计时计算方法

计数器计数频率:CK_CNT = CK_PSC / (PSC + 1)

计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1)

= CK_PSC / (PSC + 1) / (ARR + 1)

CK_PSC 是主频72MHz

CK_CNT是计数值

PSC 是预分频系数

ARR 是自动重装值

相关推荐
振南的单片机世界1 小时前
PSC分频、ARR定周期、OPM停一次:基本定时器三要素
stm32·单片机·嵌入式硬件
JERRY. LIU2 小时前
VS CODE进行NRF CONNECT项目开发出现变量无法链接跳转问题及解决方法
数据库·嵌入式硬件·物联网·iot·嵌入式实时数据库
xxwxx__3 小时前
51单片机智能家居系统:从零实现温湿度监测、蓝牙遥控与PWM风扇调速
嵌入式硬件·51单片机·智能家居
集芯微电科技有限公司4 小时前
替代LM4890音频功率放大器低电磁干扰辐射
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
ACP广源盛139246256735 小时前
国产算力互联IX8024@ACP#Kimi K3 开源后的端侧部署硬件架构分析
大数据·人工智能·分布式·单片机·嵌入式硬件
智信软件5 小时前
MCU中的ADC应用
单片机·嵌入式硬件
醉逍遥_祥6 小时前
Linux进程与NuttX任务(Linux Processes vs NuttX Tasks)
linux·单片机·嵌入式软件
xxwxx__6 小时前
51单片机电机控制全攻略:直流电机、舵机与步进电机
c语言·单片机·嵌入式硬件·51单片机
xuxie9916 小时前
start9 霍尔双相编码器
单片机