| 
 
| 在HC32F334中,Timer4、TimerA/B支持灵活的PWM停止控制和外部触发事件响应,可以自己做延迟空闲处理。 
 常见实现方法:
 
 通过软件延迟处理
 在Burst进入判断时,不是立刻关闭PWM,而是:
 
 c
 复制
 编辑
 #define BURST_IDLE_DELAY_CYCLE   50 // 保持50个PWM周期,具体数值视应用决定
 
 static uint16_t burst_delay_counter = 0;
 static uint8_t  burst_pending_idle = 0;
 
 void Burst_CheckHandler()
 {
 if (burst_condition_met())
 {
 if (burst_pending_idle == 0)
 {
 burst_pending_idle = 1;
 burst_delay_counter = BURST_IDLE_DELAY_CYCLE;
 }
 }
 
 if (burst_pending_idle)
 {
 if (burst_delay_counter > 0)
 {
 burst_delay_counter--;
 }
 else
 {
 PWM_Stop();  // 真正停波
 burst_pending_idle = 0;
 }
 }
 }
 即:打嗝模式判定后,延迟一段时间再停波。
 
 
 
 | 
 |