我通过比较的翻转模式,输出了不同相位的PWM 靠的的CNT=CCR1,然后怎么改占空比呢? 因为在翻转的时候会产生一个中断,我准备在中断里改 但是没能成功 中断里是这么写的 void TIM4_IRQHandler(void) { // if(TIM_GetITStatus(TIM4,TIM_IT_CC1)!=RESET) { // printf("½øÈëÖжÏ1\n"); if(temp==0) { TIM4->CCR1=7200; temp=1; } else { TIM4->CCR1=2400; temp=0; } } 我也看了下网上他们说不能预装载 不然CCR1是不会变得 于是我有将预装载屏蔽了 但是还是不能成功 求教想输出不同相位 还能改变占空比的PWM 的正确方式 有这方面相关的例程吗?求给一份 感谢了 |
{
if(TIM3->SR&0X0001)
{
i++;
if(i>=200)
{
i=0;
TIM3->SR&=~(1<<0);
}
else
{
TIM3->CCR1=sine[i];
TIM3->CCR2=sine[i];
//TIM1->SR&=~(1<<1);
TIM3->SR&=~(1<<0);
}
}
}
楼主,我用的也是输出比较模式,改变ccrx的值脉宽并没有改变,电平的都是在当计数达到自动重装载值时才发生翻转,占空比是50%。我用PWM模式输出没有问题