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

stm32pwm如何精确控制频率?

[复制链接]
月霜寒 提问时间:2017-11-10 15:46 /
现在需要做一个可以控制pwm频率的程序,要求是频率从1Khz开始每隔10ms频率增加1hz,一直增加到500Khz,如何才能实现呢?
收藏 评论1 发布时间:2017-11-10 15:46

举报

1个回答
toofree 回答时间:2018-3-8 01:43:21
本帖最后由 toofree 于 2018-3-8 01:44 编辑

要非常准确的步进频率,用PWM实现不了。

给你提供个FPGA实现任意频率的方法。
假设你的基础时钟为10Hz,那么才能实现3Hz的频率呢?可以把10Hz一个周期的10个时钟,分为3、3、4;那么第一个周期是3个时钟,第二个周期3个时钟,第三个周期4个时钟。这样的话,在1秒之内,整体就可以输出3Hz的频率了。

用STM32也可以用类似的方法来做,但是由于STM32的是流水式的,即便用中断,也不一定每次时间都能非常准确。
DMA也许能行,没这么试过。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版