【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 是自动重装值

相关推荐
清风66666619 分钟前
基于单片机的交流功率测量仪设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
做一道光2 小时前
6、foc控制——IF控制
笔记·单片机·嵌入式硬件·电机控制
Jerry丶Li3 小时前
二十三、STM32的ADC(三)(ADC多通道)
stm32·单片机·嵌入式硬件
d111111111d3 小时前
STM32外设学习--TIM定时器--编码器接口(程序)
笔记·stm32·嵌入式硬件·学习
辰哥单片机设计4 小时前
STM32项目分享:水质检测系统(升级版)
stm32·单片机·嵌入式硬件
straw_hat.7 小时前
32HAL——RTC时钟
stm32·学习
电子科技圈8 小时前
XMOS与飞腾云联袂以模块化方案大幅加速音频产品落地
经验分享·嵌入式硬件·mcu·自然语言处理·音视频·腾讯会议·游戏机
Tracy9738 小时前
XMSRC4194_VC1:4通道192KHz ASRC音频采样率转换器产品介绍
嵌入式硬件·音视频·智能硬件·xmos模组固件
xiaotianyun889 小时前
NCP13992 CS 分压计算
单片机·嵌入式硬件·ncp13992
偶像你挑的噻10 小时前
Linux应用开发-17-套接字
linux·网络·stm32·嵌入式硬件