打印
[STM32F1]

如何实现频率可变的PWM输出

[复制链接]
872|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
niyade|  楼主 | 2017-7-28 13:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
rt,我想输出频率可变,每个频率下PWM输出时间也可调的PWM输出,不知道怎么实现。
比喻说,我定义一个全局二维数组 u8 My_PWM{{1,2},{5,2},{3,4},{,4,5}},前面表示频率,后面表示时长。即先输出1Khz的PWM 20ms,然后输出5Khz的20ms,接着3khz的40ms...这个怎么用C语言实现,底层的像改变频率的不用说,主要是帮忙分析下C语言实现的方法,逻辑。个人觉得是不是要用到回调函数什么的吧。另外,我程序了有个10ms的定时器基准。
先拜谢各位了
沙发
mmuuss586| | 2017-7-28 16:40 | 只看该作者
可以不用回调函数啊;
你可以用定时器中断来更新PWM频率和占空比;

要是STM32有这种功能,你把后续的PWM频率占空比值放到DMA里,STM32可以自动执行,才需要回调函数;

没有这部分程序只能自己编写;

使用特权

评论回复
板凳
wahahaheihei| | 2017-7-28 17:22 | 只看该作者
你需要的时候修改不就行了了。

使用特权

评论回复
地板
niyade|  楼主 | 2017-7-29 10:48 | 只看该作者
mmuuss586 发表于 2017-7-28 16:40
可以不用回调函数啊;
你可以用定时器中断来更新PWM频率和占空比;

呃呃,谢谢,已经解决了。

使用特权

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

本版积分规则

26

主题

172

帖子

2

粉丝