本帖最后由 mousie 于 2011-4-13 17:30 编辑
用TIM3,4同步PWM输出,TIM3用TRGOSource触发输出,TIM4以Trigger为从模式,两者用TIM_Cmd(TIM3/4, ENABLE)启动,中间用TIM_SetAutoreload和TIM_SetCompare改变频率,最后先用TIM_Cmd(TIM3/4, DISABLE)停止输出脉冲,再用TIM_ForcedOC1-4Config保证输出脉冲的间歇管脚电平固定。
现在的问题是:各路脉冲在程序启动后最开始生成时同步的非常好,但是在频率改变之后,以及脉冲停止后再次生成的时候,两个定时器的脉冲生成会有一个非常小的错位?不知道问题出在哪里?
我理解单片机是在一个脉冲周期完成后自动执行TIM_SetAutoreload和TIM_SetCompare修改寄存器,然后再按照新值生成新的脉冲。另外定时器DISABLE之后再启动定时器整个清零重启。现在看来好像不是这样,还需要哪些操作达到上述要求呢? |