你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

定时器乱弹之四:PWM测量

[复制链接]
netlhx 发布时间:2015-6-26 20:09
定时器还可以用来捕获输入,如高低电平长度的测量。具体的应用,比如测试按键的时长,根据按键时的时长,来实现不同的功能。这是实用的一个功能,当然还有其它的一些应用,比如测量PWM波的周期和占空比。

下面的例程就来讨论一下如何实现PWM波的测量。

TIM3生成一个PWM波,输出到CH1,TIM2则用来测量输入PWM波的参数。通过比较结果来进行验证。

下面是TIM3和TIM2的配置代码

pwminput_tim3.png

pwminput_tim2.png

PWM波形

pwminput_pwm.png

中断处理函数中对PWM参数进行处理;中断函数代码如下

pwminput_int.png

测量的结果如下

pwminput_result1.png

可以看到,测量的结果和设置的值是一致的。

注意,上面的测试中,TIM2和TIM3的PSC是一致的,所以结果那是灰常的准确!

下面,我们稍微调整一下,TIM2的PSC,让TIM2和TIM3的PSC不同,看看结果将会如何?

下面是将TIM2的PSC调整为167后得到的结果,是不是一致呢?呵呵,还是灰常准确!

pwminput_result2.png


由此也可以看出,两个定时器的工作频率可以不一致,但这并不会影响最终的结果,好了,乱弹完毕!

其实说白了,所谓的PWM输入测量,就是将一路信号,映射到两个通道!




收藏 3 评论12 发布时间:2015-6-26 20:09

举报

12个回答
Paderboy 回答时间:2015-6-26 20:27:19
本帖最后由 Paderboy 于 2015-6-26 20:32 编辑

学习了,多谢分享,楼主可否,分享下工程文件(或者程序实例)。。对于新人,有工程文件就可以方便对照学习。。
mark0668 回答时间:2015-6-26 21:29:37
多谢分享
埃斯提爱慕 回答时间:2015-6-26 22:53:01
提示: 作者被禁止或删除 内容自动屏蔽
ruigewei5 回答时间:2016-11-10 16:39:47
学习下
zengyi703-16313 回答时间:2016-11-11 08:13:44
多谢分享
disheng4688 回答时间:2016-11-11 08:51:40
谢谢分享
disheng4688 回答时间:2016-11-11 08:52:17

谢谢分享
peter001 回答时间:2016-11-11 09:51:17
好文,学习一下
xhzheng 回答时间:2016-11-11 10:39:58
新人路过,学习了;
wdshuang09 回答时间:2016-11-11 22:03:48
            
zbber 回答时间:2016-11-12 11:38:02

,无回帖,不论坛
andypanfan 回答时间:2016-12-13 09:20:40
学习了,多谢分享

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版