PWM

定时器3通道2输出不了以20ms为周期的PWM波???

发布于 2019-03-31 17:09:00
22MOMU7X(L}NXLC00M6C]`C.pngTH8[}DURD5EICC6U7_ROZHC.png%V]N}G7X29`4}6GNFDBHC2B.png
本人使用的是正点原子战舰V3的板子(STM32F103ZET6)使用CubeMX配置好参数。

R[2N3}]CF4MOC_CV[[3UH5I.png
主函数中设置好周期period和占空比pulse,这里因为我要驱动舵机所以周期设置为20ms,占空比设置为5.0%(1ms),但是进行软件仿真后发现出不了波形。

6QPDYMP8WWOYHJ1_{W2IHU2.png
这是我软件仿真的结果。之前我将周期设置为0.5ms,1ms,2ms都是可以出来相对应的波形的。


MDK47Z{D[1M6(16(2VMSL37.png
随后我在drv_pwm.c中对drv_pwm_set函数查看发现period = (unsigned long long)configuration->period * tim_clock / 1000ULL ;很显然我的period设置没有越界。可就是没有波形的输出。我把论坛所有关于PWM的帖子都看了一遍,其中有个帖子也说无法输出20ms周期的波形。
帖子链接

想请教一下论坛的大佬们有没有遇到过类似的情况或者知道为什么不能输出20ms周期的波形。
先感谢为我解答的各位大佬们。

查看更多

关注者
0
被浏览
1.1k
5 个回答
flyboy
flyboy 2019-04-01
楼主可以单步调试一下,看看那几个公式那里,中间的计算过程中,数据有没有溢出。
哈哈哈哈嗝
哈哈哈哈嗝 2019-04-01
flyboy 发表于 2019-4-1 09:58
楼主可以单步调试一下,看看那几个公式那里,中间的计算过程中,数据有没有溢出。 ...


感谢你的回答,假如是数据的溢出那么也就是说RTT不能实现20ms的PWM输出吗
flyboy
flyboy 2019-04-01
我是说假设数据溢出的话,可以根据传入的值的大小分别处理,是先乘还是先除。
哈哈哈哈嗝
哈哈哈哈嗝 2019-04-01
flyboy 发表于 2019-4-1 10:32
我是说假设数据溢出的话,可以根据传入的值的大小分别处理,是先乘还是先除。 ...


也就是说数据溢出的话我就要修改里面所计算的代码。看样子有点心累
哈哈哈哈嗝
哈哈哈哈嗝 2019-04-01
flyboy 发表于 2019-4-1 10:32我是说假设数据溢出的话,可以根据传入的值的大小分别处理,是先乘还是先除。 ...
IQLV$V`1O}8YG7$P7(3[836.pngY[XF5)BIIG$}QG7{3J3R82S.png
我进行单步调试的时候发现数据并没有出现溢出的问题。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览