This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0G3507: 定时器周期捕获问题

Part Number: MSPM0G3507

您好,目前采用定时器周期捕获的方法对PWM进行捕获。现象为,若定时器周期>PWM周期,可以正常捕获。但定时器周期<PWM周期,会导致捕获值保持为loadvalue。我的理解是,如果出现定时器周期小于pwm周期,假设捕获值为70000,那我不应该得到的是70000-65535吗?目前结果是65535。 定时器在边沿触发时,会将counter值置0,但不应该会影响到

DL_Timer_getCaptureCompareValue得到的值吧。
void CAPTURE_0_INST_IRQHandler(void){
    switch (DL_Timer_getPendingInterrupt(CAPTURE_0_INST)) {
        case DL_TIMER_IIDX_CC0_UP:{
                // DL_Timer_setTimerCount(CAPTURE_0_INST, 0);
            capture_value = DL_Timer_getCaptureCompareValue(CAPTURE_0_INST, 0);
           count = CAPTURE_0_INST-> COUNTERREGS.CTR;
        }break;
        case DL_TIMER_IIDX_ZERO:{
            // DL_Timer_setTimerCount(CAPTURE_0_INST, 0);
        }
       
        break;
        default:
            break;
    }

} 这是目前的中断处理,得到的capture_value总是65535,(65535为capture定时器的loadvalue值)