本帖最后由 爱随缘2013 于 2020-8-5 15:59 编辑
最近尝试动态调节PWM频率,已经实现,代码如下
void TIMER13_IRQHandler(void)
{
timer_interrupt_flag_clear(TIMER13, TIMER_INT_FLAG_UP);
a++;
if(a == 1)
{
// a = 0;
if(flag == 0)
{
PFM--;
if(PFM <= 1000){PFM = 1000;flag = 1;}
}
}
if(a == 50)
{
a = 0;
if(flag == 1)
{
PFM++;
if(PFM >= 1700){PFM = 1700;flag = 0;}
}
}
//timer_autoreload_value_config(TIMER0,PFM);
TIMER_CAR(TIMER0) = PFM;
}
但是发现在调节频率过程中,占空比会有丢失现象,图片如下
调试好几天均没有效果,只要一关闭频率动态调节就没问题了,占空比静态和动态都试了,均不行,动态调节PWM占空比没有这个问题。
定时器0,2都试了,也不行。大家帮我看下怎么回事。
已经解决,问题是:当动态调节频率的时候,会出现丢失波形问题。
|