采用STM32F103C8T6单片机,KeilMDK5.32版本
定时器2的使能信号被用于作为触发输出(TRGO),定时器2工作在触发模式下,TRGI来源输入捕获的上升沿信号。
定时器3工作在触发模式下,TRGI来源定时器的TRGO。
定时器2 计数周期1000ms
定时器3 计数周期500ms
开启定时器2和3的更新中断,在更新中断回调函数发送相应的数据。
先初始化主模式下的定时器,因为在定时器初始化函数中会手动置位UG(为了保证装载ARR,PSC的影子寄存器),而主模式下TRGO信号来源一开始默认是UG位(TIMx_CR2寄存器中的MSM位)。
如果先初始化从模式定时器3,定时器3工作在触发模式下,TRGI信号来源为定时器2的TRGO,而定时器2还未初始化,故TRGO信号来源默认是UG位,故在定时器2初始化过程中会置位UG位,从而触发定时器3的从模式触发模式,导致定时器3开始计数,而在本例中,定时器2和定时器3应该在定时器2的输入捕获通道1的上升沿出现的时候才开始计数,故需要先初始化定时器2
1