ZHCAF11 February 2025 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1519 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3519 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2228 , MSPM0L2228-Q1
在 图 3-1 中,计时器 A0 CC2 和 GPIO 之间有一个中断控制。中断是一种软件控制方法,与事件硬件控制方法相比,使用中断存在较大的延迟。
图 3-2 展示了计时器 A0 CC2 PWM 下降沿和 GPIO 下降沿之间的延迟。红色阴影区域是 PWM 和 GPIO 之间的延迟时间。下方代码显示了中断处理过程,如果此计时器中断是系统中唯一最高优先级的中断,则该延迟为固定值。计时器 A0 CC2 的值需要设置为:
其中 CC2th 是计时器 A0 CC2 的理论值,延迟 是 图 3-2 中所示的红色阴影区域。根据计时器时钟配置,延迟 需要转换为计时器 CC 值。
图 3-2 PWM 和 GPIO 之间的延迟void PWM_1_P_INST_IRQHandler(void)
{
switch(DL_Timer_getPendingInterrupt(PWM_1_P_INST)){
case DL_TIMER_IIDX_CC2_UP:
DL_GPIO_clearPins(PWM_1_N_PORT, PWM_1_N_PIN_0_PIN);
break;
default:
break;
}
}