STM8 时钟/触发控制器
STM8时钟/触发控制器 时钟/触发控制器允许用户选择计数器的时钟源,输入触发信号和输出信号,框图如图40所示。
预分频时钟(CK_PSC) 时基单元的预分频时钟(CK_PSC)可以由以下源提供:
外部时钟源模式1 当TIMx_SMCR寄存器的SMS=111时,此模式被选中。计数器可以在选定输入端的每个上升沿或下降沿计数。
例如,要配置STM8向上计数器在T12输入端的上升沿计数,使用下列步骤: 1.配置TIM1_CCMR2寄存器的CC2S=01,使用通道2检测TI2输入的上升沿 2.配置TIM1_CCMR2寄存器的IC2F[3:0]位,选择输入滤波器带宽(如果不需要滤波器,保持IC2F=0000) 注:捕获预分频器不用作触发,所以不需要对它进行配置,同样也不需要配置TI2S位,他们仅用来选择输入捕获源。 3.配置TIM1_CCER1寄存器的CC2P=0,选定上升沿极性 4.配置TIM1_SMCR寄存器的SMS=111,配置计数器使用外部时钟模式1 5.配置TIM1_SMCR寄存器的TS=110,选定TI2作为输入源 6.设置TIM1_CR1寄存器的CEN=1,启动计数器 当上升沿出现在TI2,计数器计数一次,且触发标识位(TIM1_SR1寄存器的TIF位)被置1,如果使能了中断(在TIM1_IER寄存器中配置)则会产生中断请求。 在TI2的上升沿和计数器实际时钟之间的延时取决于在TI2输入端的重新同步电路。
外部时钟源模式2 计数器能够在外部触发输入ETR信号的每一个上升沿或下降沿计数。将TIM1_ETR寄存器的ECE位写1,即可选定此模式。
例如,要配置计数器在ETR信号的每2个上升沿时向上计数一次,需使用下列步骤: 1.本例中不需要滤波器,配置TIM1_ETR寄存器的ETF[3:0]=0000 2.设置预分频器,配置TIM1_ETR寄存器的ETPS[1:0]=01 3.选择ETR的上升沿检测,配置TIM1_ETR寄存器的ETP=0 4.开启外部时钟模式2,配置TIM1_ETR寄存器中的ECE=1 5.启动计数器,写TIM1_CR1寄存器的CEN=1 计数器在每2个ETR上升沿计数一次。 在ETR的上升沿和计数器实际时钟之间的延时取决于在ETRP信号端的重新同步电路。
|
---|