
定时器还可以用来捕获输入,如高低电平长度的测量。具体的应用,比如测试按键的时长,根据按键时的时长,来实现不同的功能。这是实用的一个功能,当然还有其它的一些应用,比如测量PWM波的周期和占空比。 下面的例程就来讨论一下如何实现PWM波的测量。 TIM3生成一个PWM波,输出到CH1,TIM2则用来测量输入PWM波的参数。通过比较结果来进行验证。 下面是TIM3和TIM2的配置代码 ![]() ![]() PWM波形 ![]() 中断处理函数中对PWM参数进行处理;中断函数代码如下 ![]() 测量的结果如下 ![]() 可以看到,测量的结果和设置的值是一致的。 注意,上面的测试中,TIM2和TIM3的PSC是一致的,所以结果那是灰常的准确! 下面,我们稍微调整一下,TIM2的PSC,让TIM2和TIM3的PSC不同,看看结果将会如何? 下面是将TIM2的PSC调整为167后得到的结果,是不是一致呢?呵呵,还是灰常准确! ![]() 由此也可以看出,两个定时器的工作频率可以不一致,但这并不会影响最终的结果,好了,乱弹完毕! 其实说白了,所谓的PWM输入测量,就是将一路信号,映射到两个通道! |
学习了,多谢分享,楼主可否,分享下工程文件(或者程序实例)。。对于新人,有工程文件就可以方便对照学习。。
谢谢分享
,无回帖,不论坛