Advanced-control timer 高级定时器 时钟源

发布时间 2023-08-18 23:35:27作者: Yannnnnnn

Advanced-control timer 

TIM1 TIM8

TIM8 is not available in STM32F411xC/E.

Clock selection 时钟选择
Internal clock (CK_INT)

内部时钟 (CK_INT),

来自 APB总线

External clock mode1: external input pin

外部时钟模式 1:外部输入引脚

来自CH1,CH2

ED:双边沿检测(edge  detector)

External clock mode2: external trigger input ETR 外部时钟模式 2:外部触发输入 ETR
Internal trigger inputs (ITRx) 内部触发输入 (ITRx):定时器级联

 

External clock source mode 1

外部时钟源模式1

TI2 连接示例

要使递增计数器在 TI2 输入出现上升沿时计数,请执行以下步骤:

通过在 TIMx_CCMR1 寄存器中写入 CC2S =“01”来配置通道 2,使其能够检测 TI2 输入的上升沿
通过在 TIMx_CCMR1 寄存器中写入 IC2F[3:0] 位来配置输入滤波时间(如果不需要任 何滤波,请保持 IC2F=0000
通过在 TIMx_CCER 寄存器中写入 CC2P=0 和 CC2NP=0 来选择上升沿极性
通过在 TIMx_SMCR 寄存器中写入 SMS=111,使定时器在外部时钟模式 1 下工作。
通过在 TIMx_SMCR 寄存器中写入 TS=110 来选择 TI2 作为触发输入源
通过在 TIMx_CR1 寄存器中写入 CEN=1 来使能计数器

当 TI2 出现上升沿时,计数器便会计数一次并且 TIF 标志置 1

TI2 的上升沿与实际计数器时钟之间的延迟是由于 TI2 输入的重新同步电路引起的

 

 

External clock source mode 2

外部时钟源模式2

外部触发输入

要使递增计数器在 ETR 每出现 2 个上升沿时计数,请执行以下步骤:

由于此例中不需滤波器,因此在 TIMx_SMCR 寄存器中写入 ETF[3:0]=0000
通过在 TIMx_SMCR 寄存器中写入 ETPS[1:0]=01 来设置预分频器
通过在 TIMx_SMCR 寄存器中写入 ETP=0 来选择 ETR 引脚的上升沿检测
通过在 TIMx_SMCR 寄存器中写入 ECE=1 来使能外部时钟模式 2
通过在 TIMx_CR1 寄存器中写入 CEN=1 来使能计数器

ETR 每出现 2 个上升沿,计数器计数一次

ETR 的上升沿与实际计数器时钟之间的延迟是由于 ETRP 信号的重新同步电路引起的