在使用STM32F103ZET6的TIM2和TIM3产生8路PWM时,有一个问题,就是最后使能TIM2和TIM3时,由于不能同时使能,所以两个定时器里产生出来的PWM不能同步,有一个相位差。
用库函数使能如下,发现相位差较大。
TIM_Cmd(TIM2,ENABLE);//使能TIM2
TIM_Cmd(TIM3,ENABLE);//使能TIM3
改用寄存器使能如下:
TIM2->CR1|=0x01; //使能定时器2
TIM3->CR1|=0x01; //使能定时器3
使用寄存器使能可以减小相位差,但是不能使两个PWM同步,请问有没有人有办法可以帮我解决这个困难?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不过,考虑过只用一个定时器的可能性吗?
---------------------------------
谢谢你的提醒,我会去看一下定时器作为PWM输出时能不能解决我的问题,我想过用一个定时器,但是TIM1/TIM8最多也只能产生7路的PWM输出,不够8路的。
---------------------------------
如果8路波形完全一样,那你直接分出去就是了....
---------------------------------
请问你现在找到解决方案了吗,我现在也需要一个八路同步的PWM, 中心对齐带死区控制。希望能和你交流
请问解决了吗?可以分享下不
一周热门 更多>