全球旧事资料 分类
STM32通用定时器
STM32的定时器功能很强大,学习起来也很费劲儿其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:whileSUCCESS看手册…才搞明白的所以接下来我以手册的顺序为主线,增加一些自己的理解,并通过11个例程对TIMER做个剖析。实验环境是STM103V100的实验板,MDK32Library2东西都不怎么新,凑合用……TIMER主要是由三部分组成:1、时基单元。2、输入捕获。3、输出比较。还有两种模式控制功能:从模式控制和主模式控制。一、框图让我们看下手册,一开始是定时器的框图,这里面几乎包含了所有定时器的信息,您要是能看明白,那么接下来就不用再看别的了…为了方便的看图,我对里面出现的名词和符号做个注解:TIMx_ETRTIMER外部触发引脚ETR外部触发输入ETRP分频后的外部触发输入ETRF滤波后的外部触发输入ITRx内部触发x由另外的定时器触发TI1F_EDTI1的边沿检测器。TI1FP12滤波后定时器12的输入TRGI触发输入TRGO触发输出CK_PSC应该叫分频器时钟输入CK_CNT定时器时钟。(定时周期的计算就靠它)TIMx_CHxTIMER的输入脚TIx应该叫做定时器输入信号xICx输入比较xICxPS分频后的ICxOCx输出捕获xOCxREF输出参考信号关于框图还有以下几点要注意:1、影子寄存器。有阴影的寄存器,表示在物理上这个寄存器对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preloadregister预装载寄存器,另一个是程序员看不见的、但在操作中真正起作用的寄存器,称为shadowregister影子寄存器;(详细请参考版主博客httpbloged
chi
acomSTM32401461messageaspx)2、输入滤波机制在ETR何TIx输入端有个输入滤波器,它的作用是以采样频率Fdts来采样N次进行滤波的。具体也请参考版主博客(httpbloged
chi
acomSTM32263170messageaspx)3、输入引脚和输出引脚是相同的。
二、时基单元时基单元有三个部分:CNT、PSC、ARR。CNT的计数方式分三种:向上、
f向下、中央对齐。通俗的说就是0ARR、ARR0、0ARR1ARR1三、时钟源的选择这个是难点之一。从手册上我们看到共有三种时钟源:1、内部时钟。也就是选择CK_INT做时钟,这个简单,但是有一点要注意,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系数为其它数值即预分频系数为2、4、8或16时,这个倍频器起作用,定时器的时r
好听全球资料 返回顶部