[STM32F0] STM32F0 PWM如何实现这样的波形?

[复制链接]
1223|10
 楼主| 自己和自己玩 发表于 2021-2-28 16:02 | 显示全部楼层 |阅读模式
091118ngyilqwwiqy4lcpz.png.thumb.jpg
先产生一个7HZ的波形,然后切换到100HZ,
目前想到的方法,
1. 7HZ用延时去写,然后切换100HZ
2. 在定时器上溢点去中断,改变频率跟占空比(此方法用到中断可能会影响其他程序)
3. 在定时器上溢点去调整频率跟占空比,测试占空比好像无法改变。

大家帮忙看下有没有什么好的方法,感谢了
GlenX 发表于 2021-2-28 18:52 | 显示全部楼层
设置100Hz PWM 输出,占空比50%。
前面采用另一个定时器定时强制这个"PWM"按你的要求输出
后面启动PWM 就可以了。
爱随缘2013 发表于 2021-2-28 21:17 | 显示全部楼层
GlenX 发表于 2021-2-28 18:52
设置100Hz PWM 输出,占空比50%。
前面采用另一个定时器定时强制这个"PWM"按你的要求输出
后面启动PWM 就可 ...

这样估计有些麻烦
香水城 发表于 2021-2-28 21:19 | 显示全部楼层
本帖最后由 香水城 于 2021-2-28 21:28 编辑

1、你可以前面使用强制输出模式,输出高或低,然后切换为100hz的pwm 模式。

2、或者前面直接使用7hz的PWM输出,溢出时更改ARR/CCR并关闭二者的预装功能。  你可以自行验证下。
 楼主| 自己和自己玩 发表于 2021-2-28 21:49 | 显示全部楼层
香水城 发表于 2021-2-28 21:19
1、你可以前面使用强制输出模式,输出高或低,然后切换为100hz的pwm 模式。

2、或者前面直接使用7hz的PWM ...

感谢哈,强制性输出是可以的,得用到延时,跟7HZ用延时去写,然后开启100HZ原理一样,,第二种方法没测试过
mmuuss586 发表于 2021-3-1 10:37 | 显示全部楼层
可以参考香水城版主的定时器培训**
zhengshuai888 发表于 2021-3-1 12:31 来自手机 | 显示全部楼层
mark一下,期待后续。
henangongda123 发表于 2021-3-1 13:56 | 显示全部楼层
香水城 发表于 2021-2-28 21:19
1、你可以前面使用强制输出模式,输出高或低,然后切换为100hz的pwm 模式。

2、或者前面直接使用7hz的PWM ...

STM单片机何时能恢复原价啊
oahzhao 发表于 2021-3-1 15:25 | 显示全部楼层
低于400HZ的波形都可以用定时器中断来写
ipman 发表于 2021-3-1 15:44 | 显示全部楼层
henangongda123 发表于 2021-3-1 13:56
STM单片机何时能恢复原价啊

估计最快也要2023年
ipman 发表于 2021-3-1 15:46 | 显示全部楼层
F0的话可以利用 TIM16+TIM17,在IROUT那里输出,一个TIM生产100Hz载波,一个生产7Hz,通过关停实现切换。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

82

帖子

0

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