打印
[STM32F3]

STM32F3两个定时器里产生出来的PWM不能同步

[复制链接]
1009|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2023-10-30 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用STM32F3的tiM1和TIM8产生8路PWM时,有一个问题,就是最后使能TIM1和TIM8时,由于不能同时使能,所以两个定时器里产生出来的PWM不能同步,有一个相位差。
用库函数使能如下,发现相位差较大。
TIM_Cmd(TIM1,ENABLE);//使能TIM1
TIM_Cmd(TIM8,ENABLE);//使能TIM8
改用寄存器使能如下:
TIM1->CR1|=0x01;     //使能定时器1
TIM8->CR1|=0x01;     //使能定时器8
使用寄存器使能可以减小相位差,但是不能使两个PWM同步,请问有没有人有办法可以帮我解决这个困难?

使用特权

评论回复
沙发
classroom| | 2023-10-31 14:47 | 只看该作者
如果两个定时器的时钟源不同,它们的计数速度和PWM输出频率也会不同,从而导致PWM不同步。

使用特权

评论回复
板凳
laocuo1142| | 2023-10-31 14:48 | 只看该作者
可能是初始化不同,确保两个定时器的初始化参数相同可以解决这个问题。

使用特权

评论回复
地板
flycamelaaa| | 2023-10-31 14:48 | 只看该作者
如果两个定时器都使用了中断处理程序,而中断处理程序的执行顺序和时间不确定,这可能会导致PWM的不同步。在中断处理程序中,应该尽可能地减少对PWM控制的影响,例如避免在中断处理程序中进行复杂的计算或延时等操作。

使用特权

评论回复
5
flycamelaaa| | 2023-10-31 14:49 | 只看该作者
检查硬件连接和定时器的状态

使用特权

评论回复
6
AloneKaven| | 2023-10-31 22:41 | 只看该作者
时钟不同吗

使用特权

评论回复
7
故意相遇| | 2023-11-17 20:55 | 只看该作者
好像定时器有个组合来着,可以实现吧

使用特权

评论回复
8
白马过平川| | 2023-11-18 01:00 | 只看该作者
你用F3啊,这个是不是可以驱动电机的MCU啊

使用特权

评论回复
9
风凉| | 2023-11-18 03:00 | 只看该作者
一般来说官方的demo上应该有这方面的驱动吧

使用特权

评论回复
10
西洲| | 2023-11-18 05:00 | 只看该作者
确实用寄存器可以实现快速配置,但是也不能完全同步的

使用特权

评论回复
11
捧一束彼岸花| | 2023-11-18 07:00 | 只看该作者
为啥不能同时使能啊?

使用特权

评论回复
12
月亮一键变蓝| | 2023-11-18 11:00 | 只看该作者
都会有点误差啥的吧,因为是单核的MCU呀

使用特权

评论回复
13
将爱藏于深海| | 2023-11-18 13:00 | 只看该作者
直接用一个定时器配置2个IO是不是就行了

使用特权

评论回复
14
未说出口的像你| | 2023-11-18 15:00 | 只看该作者
你就是想输出个PWM,好像一个定时器就能实现的

使用特权

评论回复
15
失物招領| | 2023-11-18 19:00 | 只看该作者
ST的不太知道,但当时用过杰发的,有相关例程,可以同时输出

使用特权

评论回复
16
在曼谷的春| | 2023-11-18 22:00 | 只看该作者
原来用寄存器可以比库函数初始化更快啊,学到了

使用特权

评论回复
17
可怜的小弗朗士| | 2024-4-11 13:53 | 只看该作者
想要同步需要进行定时器的级联。

使用特权

评论回复
18
童雨竹| | 2024-8-6 07:10 | 只看该作者

宽度则与电感量和电阻量成反比

使用特权

评论回复
19
Wordsworth| | 2024-8-6 08:13 | 只看该作者

电流要增大

使用特权

评论回复
20
Clyde011| | 2024-8-6 09:16 | 只看该作者

整流器或功率开关管与每个电容端的连线长度和宽度都要一样

使用特权

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

本版积分规则

1327

主题

3837

帖子

0

粉丝