slave mode从模式:
从模式控制器 ,共有五种模式。 Disable(不使能)、外部时钟模式1,复位模式,门级驱动模式,触发模式。
External Clock Mode1
如图是时钟源的选择,可以有内部、外部输入引脚1和2、内部触发输入(多个定时器级联)。这个主要选择计数器的计数时钟来源,一般选择内部时钟就够了,需要多个定时器一起作用时候可以选择其他模式,slave mode:中External Clock Mode1 就是对应这一条。
从模式——复位模式:
在发生一个触发输入事件时,计数器和它的预分频器能够重新被初始化;同时,如果TIMx_CR1寄存器的URS位为低,还会产生一个更新事件UEV;然后所有的预装载寄存器(TIMx_ARR, TIMx_CCRx)都会被更新。
计数器开始依据内部时钟计数,然后正常运转直到TI1出现一个上升沿;此时,计数器被清零然后从0重新开始计数。同时,触发标志(TIMx_SR寄存器中的TIF位)被设置,根据TIMx_DIER寄存器中TIE(中断使能)位和TDE(DMA使能)位的设置,产生一个中断请求或一个DMA请求。
下图显示当自动重装载寄存器TIMx_ARR=0x36时的动作。在TI1上升沿和计数器的实际复位之间的延时,取决于TI1输入端的重同步电路。
从模式——门控模式
按照选中的输入端电平使能计数器。 在如下的例子中,计数器只在TI1为低时向上计数:
● 配置通道1以检测TI1上的低电平。配置输入滤波器带宽(本例中,不需要滤波,所以保持IC1F=0000)。触发操作中不使用捕获预分频器,所以不需要配置。CC1S位用于选择输入捕获源,置TIMx_CCMR1寄存器中CC1S=01。置TIMx_CCER寄存器中CC1P=1以确定极性(只检测低电平)。
● 置TIMx_SMCR寄存器中SMS=101,配置定时器为门控模式;置TIMx_SMCR寄存器中TS=101,选择TI1作为输入源。
● 置TIMx_CR1寄存器中CEN=1,启动计数器。在门控模式下,如果CEN=0,则计数器不能启动,不论触发输入电平如何。 只要TI1为低,计数器开始依据内部时钟计数,在TI1变高时停止计数。当计数器开始或停止时都设置TIMx_SR中的TIF标置。 TI1上升沿和计数器实际停止之间的延时,取决于TI1输入端的重同步电路。
从模式——触发模式
输入端上选中的事件使能计数器。 在下面的例子中,计数器在TI2输入的上升沿开始向上计数:
● 配置通道2检测TI2的上升沿。配置输入滤波器带宽(本例中,不需要任何滤波器,保持IC2F=0000)。触发操作中不使用捕获预分频器,不需要配置。CC2S位只用于选择输入捕获源,置TIMx_CCMR1寄存器中CC2S=01。置TIMx_CCER寄存器中CC2P=1以确定极性(只检测低电平)。
● 置TIMx_SMCR寄存器中SMS=110,配置定时器为触发模式;置TIMx_SMCR寄存器中TS=110,选择TI2作为输入源。 当TI2出现一个上升沿时,计数器开始在内部时钟驱动下计数,同时设置TIF标志。
TI2上升沿和计数器启动计数之间的延时,取决于TI2输入端的重同步电路。
TriggerPolarity(触发极性)
● 外部时钟模式1: 定时器的外部输入脚(TIx)或TIx_FPx(如TI1FP1、TI2FP2等)。
● 外部时钟模式2:定时器的特定输入通道ETR(External Trigger Input)
● 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器
- ETR1:外部信号,来自定时器的 ETR 引脚。
- ITRx:内部信号,常来自其它定时器的输出,具体定时器间连接关系需要查阅相应芯片的文档。
- TIxFPx:内部信号,来自定时器的特定引脚的输入检测 IC(输入捕获时常用)
Clock Source时钟
Internal Clock为内部时钟。
ETR2 外部触发输入模式2(ETR),意思外接界的其他信号源。
这里介绍一下外部触发输入模式2(ETR)
Channel1通道1
接下来就是定时器的通道,这里就要区分定时器下面是定时器1的Channel1
下面是定时器2的Channel1
接下来就是具体配置定时器的参数:
Prescaler :该参数为时钟源预分频系数,
Counter Mode :计数模式,可以选择向上、向下、中心对齐等计数方式;
Counter Period :自动重装寄存器ARR值,该参数决定了生成PWM的周期,
auto-reload preload :预装载自动重装,设置为Enable后,当修改ARR的值时会在下一个UEV事件生效,否则表示不适用预装载,修改其值会立即生效;
TRGO Parameters 触发输出 (TRGO) 不使能 与本节无关
TRGO: 定时器的触发信号输出 在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换,)
Mode :可以选择模式1/模式2,这两种模式区别为生成的PWM波形不一样,选择PWM模式1且向上计数时,当Pulse值<计数值ARR时此时通道输出有效状态,否则为无效状态,
当选择PWM模式2时刚好与模式1相反。如下面两个PWM波形中,上图为采用PWM模式1,通道极性为高电平时产生的PWM波,下图为采用PWM模式2,通道极性为高时产生的PWM波;
Pulse :即捕获/比较寄存器CRR的值,通过设置该参数可以决定PWM的脉冲宽度
Output compare preload :输出比较预装载,设置为Enable后,当修改Pulse的值时会在下一个UEV事件生效,否则会立即生效;
CH Polarity :通道极性,设置通道有效状态;
输入捕获模式
Polarity selection;极性选择 上升或者下降
lc selection :直接或者间接模式
Prescaler Division Ration: 预分频器设置
inputer filter: 输入绿波器时间设置
DMA1 channel2 global interrupt : dma1 通道2全局中断
DMA1 channel3 global interrupt : dma1 通道3全局中断
DMA1 channel4 global interrupt : dma1 通道4全局中断
DMA1 channel6 global interrupt : dma1 通道6全局中断
TIM1 break interrupt: TIM1中断
TIM1 update interrupt: TIM1更新中断
TIM1 capture compare interrupt : TIM1捕获比较中断