打印
[STM32F1]

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

[复制链接]
1375|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuhuis|  楼主 | 2018-8-29 08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想输出频率可变,每个频率下PWM输出时间也可调的PWM输出,不知道怎么实现。
沙发
wenfen| | 2018-8-29 08:59 | 只看该作者

楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
zhuhuis|  楼主 | 2018-8-29 09:02 | 只看该作者
比喻说,我定义一个全局二维数组 u8 My_PWM{{1,2},{5,2},{3,4},{,4,5}},前面表示频率,后面表示时长。即先输出1Khz的PWM 20ms,然后输出5Khz的20ms,接着3khz的40ms...这个怎么用C语言实现,底层的像改变频率的不用说,主要是帮忙分析下C语言实现的方法,逻辑。个人觉得是不是要用到回调函数什么的吧。另外,我程序了有个10ms的定时器基准。

使用特权

评论回复
地板
dengdc| | 2018-8-29 09:04 | 只看该作者
可以不用回调函数啊;

使用特权

评论回复
5
huwr| | 2018-8-29 09:06 | 只看该作者
你可以用定时器中断来更新PWM频率和占空比;

使用特权

评论回复
6
huwr| | 2018-8-29 09:09 | 只看该作者
要是STM32有这种功能,你把后续的PWM频率占空比值放到DMA里,STM32可以自动执行,才需要回调函数;

使用特权

评论回复
7
songqian17| | 2018-8-29 09:13 | 只看该作者
嗯,没有这部分程序只能自己编写;

使用特权

评论回复
8
huwr| | 2018-8-29 09:18 | 只看该作者
你需要的时候修改不就行了了。

使用特权

评论回复
9
zhuhuis|  楼主 | 2018-8-29 09:20 | 只看该作者
呃呃,谢谢,已经解决了。

使用特权

评论回复
10
wakayi| | 2018-9-4 10:22 | 只看该作者
修改定时器啊

使用特权

评论回复
11
wowu| | 2018-9-4 10:58 | 只看该作者
根据情况灵活修改定时器

使用特权

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

本版积分规则

728

主题

8464

帖子

6

粉丝