修改寄存器的时机或方法有问题。
香水城 发表于 2011-10-31 10:30
电脑通过串口下发新频率指令,在串口循环查询函数中:
TIM_Cmd(TIM8, DISABLE); //-----关
TIM_CtrlPWMOutputs(TIM8, DISABLE); //关
TIM_SetCounter(TIM8,0); //清CNT,出头来过。
TIM_SetCompare1(TIM8, A_T);
TIM_SetCompare2(TIM8, B_T);
TIM_CtrlPWMOutputs(TIM8, ENABLE); //开
TIM_Cmd(TIM8, ENABLE); //-----开
更新这样做的,串口慢速的给指令时,比较正常。一旦快速的不断下发新频率值(其实都是发的同一个值),就会出现AB波形相位互换的情况。 |