一、应用简介 在实际应用的一些产品上可能需要到对脉冲的个数进行计数,本章我们来讲一下如何使用tiM来做一个脉冲计数的功能。在MM32 TIM中正好有一个外部时钟模式1可以来帮助我们实现这个功能。 二、外部时钟源模式1描述 首先我们来了解一下外部时钟源模式1,当 TIMx_SMCR 寄存器的SMS = 111 时,此模式被选中。计数器可以在选定输入端的每个上升沿或下降沿计数。下图是TI2外部时钟连接例子。
例如,要配置向上计数器在 T12 输入端的上升沿计数,使用下列步骤: 1. 配置 TIMx_CCMR1 寄存器 CC2S = 01,配置通道 2 检测 TI2 输入的上升沿。 2. 配置 TIMx_CCMR1 寄存器的 IC2F[3: 0],选择输入滤波器带宽(如果不需要滤波器,保持 IC2F= 0000)。 3. 配置 TIMx_CCER 寄存器的 CC2P = 0,选定上升沿极性。 4. 配置 TIMx_SMCR 寄存器的 SMS = 111,选择定时器外部时钟模式 1。 5. 配置 TIMx_SMCR 寄存器中的 TS = 110,选定 TI2 作为触发输入源。 6. 设置 TIMx_CR1 寄存器的 CEN = 1,启动计数器。 注:捕获预分频器不用作触发,所以不需要对它进行配置。 当上升沿出现在 TI2,计数器计数一次,且 TIF 标志被设置。 在 TI2 的上升沿和计数器实际时钟之间的延时取决于TI2 输入端的重新同步电路。 外部时钟模式1下的控制电路
三、定时器代码配置
四、实验结果 实验信号发生器从PA1输入1HZ的方波,进入KEIL的调试模式观察TIM->CNT的变化,TIM的计数器以每秒加1的速度向上计数,停止输入方波,计数器停止计数。说明我们实现了使用TIM进行计数的功能
|