关于STM32定时器级联做计数器的问题
最近在做一个设计,使用STM32L1的定时器做一个大的计数器,每当外部PPS信号进来后,利用捕获功能来计算捕获值。这个计数器是采用定时器级联方式(三个16位组成一个48位的大计数器),由于硬件条件限制,目前使用的是TIM3(主)-TIM2-TIM4的方式。由第一个有效的PPS沿触发TIM3启动。定时器配置如下:
//配置TIM3为触发启动
TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Trigger);
TIM_SelectInputTrigger( TIM3, TIM_TS_TI1FP1 );
//配置TIM3为主定时器
TIM_SelectMasterSlaveMode (TIM3, TIM_MasterSlaveMode_Enable);
TIM_SelectOutputTrigger (TIM3, TIM_TRGOSource_Update);
//配置TIM2为从定时器
TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_External1);
TIM_SelectInputTrigger(TIM2, TIM_TS_ITR2);
//配置TIM2为主定时器
TIM_SelectMasterSlaveMode (TIM2, TIM_MasterSlaveMode_Enable);
TIM_SelectOutputTrigger (TIM2, TIM_TRGOSource_Update);
//配置TIM4为从定时器
TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_External1);
TIM_SelectInputTrigger(TIM4, TIM_TS_ITR1);
TIM_Cmd(TIM2, ENABLE);
TIM_Cmd(TIM4, ENABLE);
TIM_ITConfig( TIM3,TIM_IT_CC1,ENABLE);
实际的调试过程中发现,上述标红部分的代码换成 TIM_SelectInputTrigger( TIM3, TIM_TS_TI1F_ED);
也没有问题,请帮忙看下这两个的区别是什么啊?
手册上说明一个是TL1 Edge Detector 一个是Filered Timer Input 1,一直不懂这两个到底差在哪里,好像调试都能用 我也一样迷惑。不知道是否有人知道。
页:
[1]