Reference to example 3 on the page 32 of SPRU807B,I write a progran as bellow:
// ECAP module 1 config
ECap1Regs.ECCTL1.bit.CAP1POL = EC_RISING;
ECap1Regs.ECCTL1.bit.CAP2POL = EC_RISING;
ECap1Regs.ECCTL1.bit.CAP3POL = EC_RISING;
ECap1Regs.ECCTL1.bit.CAP4POL = EC_RISING;
ECap1Regs.ECCTL1.bit.CTRRST1 = EC_DELTA_MODE;
ECap1Regs.ECCTL1.bit.CTRRST2 = EC_DELTA_MODE;
ECap1Regs.ECCTL1.bit.CTRRST3 = EC_DELTA_MODE;
ECap1Regs.ECCTL1.bit.CTRRST4 = EC_DELTA_MODE;
ECap1Regs.ECCTL1.bit.CAPLDEN = EC_ENABLE;
ECap1Regs.ECCTL1.bit.PRESCALE = EC_DIV1;
ECap1Regs.ECCTL2.bit.CAP_APWM = EC_CAP_MODE;
ECap1Regs.ECCTL2.bit.CONT_ONESHT = EC_CONTINUOUS;
ECap1Regs.ECCTL2.bit.SYNCO_SEL = EC_SYNCO_DIS;
ECap1Regs.ECCTL2.bit.SYNCI_EN = EC_DISABLE;
ECap1Regs.ECCTL2.bit.TSCTRSTOP = EC_RUN; // Allow TSCTR to run
// Run Time ( e.g. CEVT1 triggered ISR call)
// Run Time in ISR(every 25 us)
if(ECap1Regs.ECFLG.bit.CEVT1 != 0) // Check status of one entry of first event of ECAP1 pin
{
EventPeriod1 = ECap1Regs.CAP1;
EventPeriod2 = ECap1Regs.CAP2;
EventPeriod3 = ECap1Regs.CAP3;
EventPeriod4 = ECap1Regs.CAP4;
The GPIO24 input are pulse train, frequecy is about 5kHz.
There alway are:
EventPeriod1 = 20,000
EventPeriod2 = 0
EventPeriod3 = 0
EventPeriod4 = 0
My question .is,why ECap1Regs.CAP2,ECap1Regs.CAP3,ECap1Regs.CAP4 cann't catch CEVT2,CEVT3,CEVT4?