先用一张高级定时器框图镇楼
定时器输出PWM,先要搞懂两个概念:定时器工作频率与定时器频率
定时器工作频率 = 外设总线频率/(PSC+1)
假设外设总线频率是1MHZ,PSC是9,那么定时器工作频率是100KHZ,也就是启动后1秒计数10万次;
定时器频率 = 定时器工作频率/(CNT+1)
假设CNT是99,则定时器频率是1KHZ,也就是1秒计数1000次,每1ms(计数每数到100)产生一次溢出中断。
PSC:预分频系数
CNT:自动重装载值
关于为什么捕获初始化里,捕获上升沿用TIM_CHANNEL_1,捕获下降沿用TIM_CHANNEL_2这个问题,这个帖子讲的比较详细:
关于STM32定时器中TI1FP1 与TI1FP2及相关话题 - 程序员大本营 (pianshen.com)
显然,这里的PWM输入模式正是利用2个捕捉通道针对同一信号进行的捕捉,只是分别针对上升沿和下降沿进行捕捉。要注意的是,利用上述PWM输入模式方法对外部输入信号的频率和占空比进行测量,只限于TI1或TI2通道。因为只有TI1FP1和TI2FP2接到了从模式控制器。