请问比较模式输出不同相位的PWM怎么改变占空比?

2019-07-14 14:01发布

我通过比较的翻转模式,输出了不同相位的PWM  靠的的CNT=CCR1,然后怎么改占空比呢?  因为在翻转的时候会产生一个中断,我准备在中断里改 但是没能成功
中断里是这么写的
void tiM4_IRQHandler(void)
{   
//  
  if(TIM_GetITStatus(TIM4,TIM_IT_CC1)!=RESET)
        {

//                 printf("½øÈëÖжÏ1 ");        
                if(temp==0)
                {
                    TIM4->CCR1=7200;
                          temp=1;
                }
                else
                {
                          TIM4->CCR1=2400;
                          temp=0;
                }
        }


我也看了下网上他们说不能预装载 不然CCR1是不会变得 于是我有将预装载屏蔽了  但是还是不能成功

求教想输出不同相位 还能改变占空比的PWM 的正确方式    有这方面相关的例程吗?求给一份  感谢了



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
Oo一笑
1楼-- · 2019-07-14 16:14
TIM_SetCompare1(TIM4, TIMCompare1);
lq544
2楼-- · 2019-07-14 17:27
就如同我在中断里的程序那样,,不知道那有问题,改了输出的波形和理论的不一样
zzw0719
3楼-- · 2019-07-14 20:07
  先在中断打个断点,看看程序进中断了吗?还有楼主可以吧你输出的有相位差的波形截个图发上来吗?让大家开开眼界
lq544
4楼-- · 2019-07-14 20:28
中断是进了的,我那个printf就是在检测的 进了中断会给串口发送字符
lq544
5楼-- · 2019-07-15 02:09
 精彩回答 2  元偷偷看……
colin1125
6楼-- · 2019-07-15 06:59

一周热门 更多>