一、定时器的基本组成
让计数器按照一个时钟频率从0加到一个数(或 从一个数减到0),加到这个数(重装载值)后触发一个中断,触发这个中断后,我们就知道过了n秒(一个固定的时间)。
比如说,频率是100Hz,那么从0加到99,就是过了1s
如果说,频率是1000Hz,那么从0加到99,就是过了0.1s
二、定时器基础知识
1、 定时器的作用:
用于生成时间延迟、定时中断、PWM 输出、频率计数等功能。
可以用作时间基准源,为其他外设提供定时参考。
2、定时器的工作原理:
通过内部计数器,按照一定的频率进行计数,根据预设的周期生成定时中断或输出波形。
3、定时器类型:
基本定时器(Basic Timer)、 通用定时器(General-purpose Timer)、 高级定时器(Advanced-control Timer)
三、定时器的基本组成
控制器 可以控制时钟源的来源,同时能够控制计数器的复位、使能、计数······
分频器 对时钟进行分频。
四、基本定时器
1、基本定时器( TIM6 和 TIM7)的特性包括:
● 16 位自动重载递增计数器(最大值是 (2^16) - 1 )
● 16 位可编程预分频器,用于对计数器时钟频率进行分频(即运行时修改),分频系数 介于 1 和 65536 之间
● 用于触发 DAC 的同步电路
● 发生如下更新事件时会生成中断/DMA 请求:计数器上溢
更新事件:从0计数到重装载值,有从0开始计数。更新计数值
2、功能说明
3、实验流程
五、通用定时器
1、通用 TIMx 定时器具有以下特性:
● 16 位( TIM3 和 TIM4)或 32 位( TIM2 和 TIM5) 递增、递减和递增/递减自动重载计数器。 ● 16 位可编程预分频器,用于对计数器时钟频率进行分频 (即运行时修改),分频系数介于 1 到 65536 之间。
● 多达 4 个独立通道,可用于: — 输入捕获 — 输出比较 — PWM 生成(边沿和中心对齐模式) — 单脉冲模式输出
● 使用外部信号控制定时器且可实现多个定时器互连的同步电路。
● 发生如下事件时生成中断/DMA 请求: — 更新:计数器上溢/下溢、计数器初始化(通过软件或内部/外部触发) — 触发事件(计数器启动、停止、初始化或通过内部/外部触发计数) — 输入捕获 — 输出比较
● 支持定位用增量(正交)编码器和霍尔传感器电路
● 外部时钟触发输入或逐周期电流管理
2、通用定时器的时钟源
内部时钟模式:内部时钟
外部时钟模式:外部输入引脚 (TIx),外部触发输入 (ETR),仅适用于 TIM2、 TIM3 和 TIM4。
内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器
3、中央对齐计数
六、PWM基础知识
PWM(Pulse Width Modulation)简称脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、工控等方面。
PWM能够控制脉冲一个周期的持续时间,又能控制一个周期内,高电平持续的时间和低电平的持续时间。可以得到平均脉冲波。
1.PWM的频率
是指在1秒钟内,信号从高电平到低电平再回到高电平的次数,也就是说一秒钟PWM有多少个周期,单位Hz。
2.PWM的周期
T=1/f,T是周期,f是频率。
如果频率为50Hz ,那么一个周期是20ms。
3.占空比
是一个脉冲周期内,高电平的时间与整个周期时间的比例,单位是% (0%-100%)
4.PWM模式
自动重装载值能够控制PWM信号周期,在输入的时钟频率确定的情况下,自动重装载值越大,周期就越长。
CCR比较值是用来控制占空比的,可以设置当计数器中的值小于CCR时,输出高电平,大于CCR时输出低电平;也可以设置为计数器中的值小于CCR时,输出低电平,大于CCR时,输出高电平。
y
5.PWM配置方法
滤波:如果设置的滤波时间时5的话,再来了一个电平变化,这个电平在5个时钟周期内不发生抖动,则是有效电平变化,如果发生了抖动则是无效的电平变化。
输入脉冲计数,测量来了多少个脉冲。
七、输入脉宽捕获
八、输入脉冲计数
1、输入脉冲计数应用场景
2、 输入脉冲计数原理
3、输入脉冲计数中断
当CH通道出现选定的输入信号(上升沿或下降沿)时“触发中断标志(TIF)”置1,如果TIE中断使能还会产生触发中断。
TIM3_CNT=TIM3_ARR+1时如果TIMx_CR1寄存器UDIS为0允许UEV更新,“更新中断标志(UIF)”置1,如果UIE中断使能还会触发更新中断。
4、定时器的中断
【中断屏蔽寄存器PRIMASK、FAULTMASK、BASEPRI】
PRIMASK:防止激活具有可配置优先级的所有异常
FAULTMASK:防止激活除不可屏蔽中断(NMI)之外的所有异常。
BASEPRI:它定义了被屏蔽优先级的阈值。当它被设成某个值后,所有优先级号大于等于此值得中断都被关闭(优先级号越大,优先级越低)。但如果被设为0,则不关闭任何中断。它的缺省值为0。
5、主模式和从模式
九、留言
如有问题,敬请指正。