STM32通用定时器(时钟选择,模式选择)
涉及寄存器
CKD[1:0] | ARPE | CMS[1:0] | DIR | OPM | URS | UDIS | CEN |
接下来再做两个输入的实验
实验6
TIMER-5:输入捕获模式。
现象:通过V100 的JOYSTICK键的SELECT键进入捕获,硬件仿真看CRR的值。
首先是基本的配置:ARR的值、时钟PSC、采样CKD、计数方式。
然后配置输入通道。
选择输入捕获模式、输入极性、把T1配到CC1上、选好输入的滤波跟分频,就可以了。
讲下输入滤波功能,在此实验中Fdts=CK_INT/2,Fsample=Fdts/4,所以定时器时钟为2K,所以采样周期为4ms。才8次的话周期小于32ms的干扰会滤除。
相关寄存器
CKD[1:0] | ARPE | CMS[1:0] | DIR | OPM | URS | UDIS | CEN |
PSC
ARR
CCMR1(输入)
IC2PSC[1:0] | CC2S[1:0] | IC1F[3:0] | IC1PSC[1:0] | CC1S[1:0] |
CCER
15 14
CC4P | CC4E | CC3P | CC3E | CC2P | CC2E | CC1P | CC1E |
TIMER-6:PWM输入
现象:由TIMER3输出通道1产生一路周期2秒占空比50%的PWM波,飞线到TIMER4的输入通道1,有TIMER4来测量该PWM得周期和占空比。
在做实验之前引入三种从模式控制:复位、触发、门控。通过SMCR选择后可以进入这三种从模式
SMCR
15
ETP | ECE | ETPS[1:0] | ETF[3:0] | MSM | TS[2:0] | SMS[2:0] |
SMS: 100
所谓从模式简单理解就是受控于别人了,包括何时启动、何时停止、何时复位。相关作用请看手册。提示一点就是进入这三种模式后时钟是谁的问题?肯定不是外部时钟1了,可以是内部时钟和外部时钟2.
接着看实验,PWM方式的原理是这样的,如前文提到过输入时可以把T1映射到CC1上去同时映射到CC2上,将CC1和CC2的捕获边沿搞成相反的,比如CC1捕获T1上升沿,CC2捕获T1下降沿,还要再设置T1为复位从模式,上升沿有效,这样T1上升沿后计数器开始计数。下降沿CC2捕获发生,此为PWM占空比,在来一个上升沿,CC1捕获发生此为PWM周期。注意CC1捕获的第一次无效。
这是从模式跟输入捕获的一种组合使用,从模式还可以跟输出比较组合使用。比如手册上的单脉冲实验。
接着做4个实验跟定时器的级联和定时器同步有关系,在实验前先得说说主模式的问题。在CR2寄存器中的MMS位决定了定时器的主模式方式,即决定TRGO.几种方式可以参看手册。要说明一点就是一个定期器既可以是主模式同时它也是从模式,这就好像你是一个中层干部一样,既可以领导别人同时又被别人领导,这个不冲突的。
简单介绍下4个实验。
实验8
TIMER-8:TIMER2作为TIMER3的分频器.
现象:LED以10秒周期闪烁。
TIMER3配置为PWM输出,但是始终有TIMER2的溢出时间频率来提供,其溢出频率为100Hz所以TIMER3 PWM的周期为10S.
实验9
TIMER-9:TIMER2来使能TIMER3.
现象:LD1前15秒以1秒的周期闪烁,后15秒熄掉,然后下个15秒再闪烁如此循环。
在这个实验里TIEMR3输出一个周期1秒的PWM波,仍然驱动LD1闪烁。同时从模式配成门控模式,TIEMR2将OC1作为TRGO,OC1是一个周期30S占空比50%的PWM波。
实验10
TIMER-10:IMER2启动TIMER3
现象:上电后延迟15秒LD1以1秒的周期闪烁。
此实验跟上个实验配置差不多只要把TIMER3有门控改为触发方式即可。
实验11
TIMER-11:TIMER4的通道1同时出发TIMER4和TIMER3两个定时器
现象:按下JOYSTICK 的“选择”键同时出发两个定时器开始。同时TIMER3驱动LD1以1秒周期闪烁。
以上4个实验实际上是主模式和从模式的组合以及主模式和外部时钟1的组合。其实根据自己的需要还可以做出多种组合,这就是STM32定时器强大的地方。
1、
2、
TIMx->EGR &= TIM_EventSource_Update;
评论