定时器学习笔记一、定时器部分-------定时器部分分作3部分学习(1)定时器最最基本的计时功能;(2)定时器控制PWM输出;(3)定时器的输入捕获功能。//=============================================================================二、定时器的计时功能。(1)定时器计数功能一般使用在使用定时器产生中断(溢出中断-----包括向上溢出中断,向下溢出中断)。具体设置如下:开启定时器时钟。初始化定时器(包括:时器的预加载值设置,定时器预分频值设置,定时器时钟分割值设置,定时器计数方向设置,使用已设置好的参数初始化定时器)。中断管理设置(包括:设置中断产生通道,设置中断抢占优先级和中断响应优先级,使能中断产生通道,根据以上设定的参数初始化外设的中断管理寄存器(NVIC寄存器))。使能目标器。(2)定时器溢出中断服务程序编写:包括检查指定的TIM中断发生与否、清除定时器的中断待处理位、编写需要在中断服务程序中需要实现的功能。//=============================================================================三、定时器控制输出PWM功能。(1)PWM------周期恒定,高电平宽度(占空比)可调的方波脉冲。在TIMx_CCMRx寄存器中的OCxM位写入’110’(PWM模式1)或’111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。综上:定时器产生PWM一般需要用到寄存器:定时器预分频寄存器(TIMx_PSC)、定时器重载寄存器(TIMx_ARR)、捕获/比较模式寄存器(TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器(TIMx_CCR1/2/3/4).捕获/比较模式寄存器(TIMx_CCMR1/2),一个16位寄存器,其中TIMx_CCMR1控制CH1和CH2,TIMx_CCMR2控制CH3和CH4。设置OCxM,三位可以配置7种模式,使用PWM模式,这三位必须置为110(PWM模式1)/111(PWM模式2),这两种模式区别在于输出电平的极性相反。捕获/比较使能寄存器(TIMx_CCER),改寄存器控制着各个输入输出通道的开关,一个16位寄存器。捕获/比较寄存器(TIMx_CCR1~4),16位寄存器,在输出模式下该寄存器的值与CNT的值比较,根据比较结果产生相应动作,利用这点,我们通过修改这个寄存器的值,就可以控制PWM的输出脉宽。(2)使用定时器控制PWM输出,主要是涉及到三打部分:输出PWM波形的IO口设置(输出PWM波形的IO口一定要设置为复用推挽输出);周期设置,即是定时器计时功能的最基本设置(包括设置定时器的预加载值,预分频值,时钟分割值,计数方向等设置)。占空比和效电平设置(包括:定时器的脉冲宽度调制模式设置,输出比较使能设置,待装如捕获比较寄存器的脉冲值(该值直接影响脉冲占空比),输出比较极性设置)。OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。TIMx_CCER寄存器中的CCxE位控制OCx输出使能。根据定时器输出比较结构体中设置好的参数初始化定时器。使能定时器主输出。设置对应通道的预装载使能。使能定时器在ARR上的预装载寄存器。使能定时器。四、定时器输入捕获功能PWM输入捕获模式是输入捕获模式的特例:1.每个定时器有四个输入捕获通道IC1、IC2、IC3、IC4。且IC1IC2一组,IC3IC4一组。并且可是设置管脚和寄存器的对应关系。2.同一个TIx输入映射了两个ICx信号。3.这两个ICx信号分别在相反的极性边沿有效。4.两个边沿信号中的一个被选为触发信号,并且从模式控制器被设置成复位模式。5.当触发信号来临时,被设置成触发输入信号的捕获寄存器,捕获“一个PWM周期(即连续的两个上升沿或下降沿)”,它等于包含TIM时钟周期的个数(即捕获寄存器中捕获的为TIM的计数个数n)。6.同样另一个捕获通道捕获触发信号和下一个相反极性的边沿信号的计数个数m,即(即高电平的周期或低电平的周期)7.由此可以计算出PWM的时钟周期和占空比了frequency=f(TIM时钟频率)/n。dutycycle=(高电平计数个数/n),若m为高电平计数个数,则dutycycle=m/n若m为低电平计数个数,则dutycycle=(n-m)/n注:因为计数器为16位,所以一个周期最多计数65535个,所以测得的最小频率=TIM时钟频率/65535。//=============================================================================s输入捕获通道:每一个捕获/比较通道都是围绕着一个捕获/比较寄存器(包含影子寄存器),包括捕获的输入部分(数字滤波、多路复用和预分频器),和输出部分(比较器和输出控制)。输入部分对相应的TIx输入信号采样,并产生一个滤波后的信号TIxF。然后,一个带极性选择的边缘检测器产生一个信号(TIxFPx),它可以作为从模式控制器的输入触发或者作为捕获控制。该信号通过预分频进入捕获寄存器(ICxPS)。在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。