TIM1_PWM_Init(720,999);
TIM_SetCompare2(TIM1,1);
while(1)
{
if( TIM_SR_CC2IF ==1 ) //*****************想比较CC2IF位是不是1,这样写进不去if。。???????
{
TIM_SetCompare1(TIM1,CCR1Value[i]);
i++;
}
if(i>359)
{
i=0;
}
}
本来想根据PWM例程写一个SPWM波的程序,TIM1的CH1用来产生PWM波,CH2用来作为CCR1赋新值的标志,当CC2IF为1时,就赋新的值给CCR1,但是想上述程序一样,进不去。
下面贴上全部的程序。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
改成这样if( (TIM1->SR & 0x0002)== 0x0002 ),还是不行,昨天一晚上都在找这个做法,但是现在也还是不会
TIM_SetCompare2(TIM1,1);
if( (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) )
{
TIM_SetCompare1(TIM1,CCR1Value[i]);
i++;
}
一周热门 更多>