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

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部

26

主题

172

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部