一、PWM输入模式工作原理
通过PWM输入模式,可以测量PWM的周期、频率、占空比。
时钟源选择内部时钟源,然后设置PSC预分频系数。F1系列内部时钟为72M的,PSC分频系数设置为0,也就是不分频。可以计算出计数器计一个数的时间,也就是量器的精度。
具体配置:例如PWM从通道1输入,配置TI1的两个信号TI1FP1和TI1FP2分别映射到IC1和IC2上面。然后设置IC1为上升沿触发,IC2为下降沿触发。然后当上升沿来的时候,让计数器的值变为0。这个可以通过配置定时器的从模式为复位模式,通过配置TRGI为TI1FP1触发,当TI1FP1信号来的时候,计数器自动清零。由于通道3和通道4没有信号可以触发定时器的从模式,所以只能用通道1和通道2。
二、PWM输入模式时序
首先PWM上升沿来的时候,计数器的值会被清0 ,等待下降沿到来。下降沿来时,计数器的值会转移到CCR2里边,然后上升沿再次来时,计数器的值会被转移到CCR1里边,同时计数器的值再次清零。
三、PWM输入模式配置步骤
1、HAL_TIM_IC_init()函数,配置定时器基础工作参数。,与base_init()函数一样
2、HAL_TIM_IC_MspInit()函数,配置NVIC、CLOCK、GPIO等。
3、HAL_TIM_IC_ConfigChannel()函数,配置输入通道1/2映射、捕获边沿等。
4、HAL_TIM_SlaveConfigSynchro()函数,设置从模式触发源
5、HAL_NVIC_SetPriority()、HAL_NVIC_EnablelRQ()函数,设置优先级,使能中断。
6、HAL_TIM_IC_Start_IT()函数,使能捕获、捕获中断及计数器。
7、TIMx_IROHandler()中断服务函数。
8、HAL_TIM_IC_CaptureCallback()函数,输入捕获中断回调函数。