打印
[STM32F1]

这种波动是正常的吗?

[复制链接]
613|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chuxh|  楼主 | 2017-4-28 23:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于STM32单片机开发一款应用,功能是接收PWM波形信号,计算出占空比。PWM信号源的占空比是50%。但是,接收到PWM信号,计算出的占空比在49%和50%之间变化。调试代码发现,TIM1->CCR1的值为3331,且一直不变。而TIM1->CCR2的值在1665和1666之间变化。请教各位高手,这种波动是正常的吗?谢谢!
沙发
juventus9554| | 2017-4-28 23:58 | 只看该作者

在时间很快的情况,也不能保证信号源绝对精准,经过电路后时间毫无偏差。
从精度上看:
( 1665/3331)  * 100%    =  49.98%
(1666/3331)  *  100%    =  50.015%
也就是说基本一样,关键是精度问题。建议处理的时候不要直接整型操作(或分子部分扩大10-100倍),软件做好4舍5入

使用特权

评论回复
板凳
zhuomuniao110| | 2017-4-29 16:21 | 只看该作者
纯属正常,因为晶振本身就是波动的,你要求太精密,只能这样了。

使用特权

评论回复
地板
houcs| | 2017-4-29 16:55 | 只看该作者
精度也不错了。

使用特权

评论回复
5
王紫豪| | 2017-4-29 16:55 | 只看该作者
本帖最后由 王紫豪 于 2017-4-29 16:56 编辑

计数的时候,一个字的量子化误差,是正常的。

使用特权

评论回复
6
chuxh|  楼主 | 2017-4-29 16:57 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
7
dongnanxibei| | 2017-4-29 20:06 | 只看该作者
精度问题,四舍五入一下不就OK了。

使用特权

评论回复
8
xixi2017| | 2017-4-29 21:53 | 只看该作者
正常的不要不要的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

936

主题

11296

帖子

2

粉丝