Part Number: TMS320F280049C
改成连续模式是可以捕获到数据的,改成单次模式就不行,不知道为什么?
EALLOW;
ECap1Regs.ECEINT.all = 0x0000;
ECap1Regs.ECCLR.all = 0xFFFF;
ECap1Regs.ECCTL1.bit.CAPLDEN = 0;
ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0;
ECap1Regs.CAP1 = 0;
ECap1Regs.ECCTL1.bit.CAP1POL = 1;
ECap1Regs.ECCTL1.bit.CAP2POL = 0;
ECap1Regs.ECCTL1.bit.CAP3POL = 0;
ECap1Regs.ECCTL1.bit.CTRRST1 = 0;
ECap1Regs.ECCTL1.bit.CTRRST2 = 0;
ECap1Regs.ECCTL1.bit.CTRRST3 = 0;
ECap1Regs.ECCTL1.bit.PRESCALE = 0;
ECap1Regs.ECCTL1.bit.CAPLDEN = 1;
ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;
ECap1Regs.ECCTL2.bit.SYNCO_SEL = 2;
ECap1Regs.ECCTL2.bit.CAP_APWM = 0;
ECap1Regs.ECCTL2.bit.CONT_ONESHT= 1;
ECap1Regs.ECCTL2.bit.STOP_WRAP = 2;
ECap1Regs.ECEINT.bit.CEVT1 = 0;
ECap1Regs.ECEINT.bit.CEVT2 = 0;
ECap1Regs.ECEINT.bit.CEVT3 = 0;
ECap1Regs.ECEINT.bit.CEVT4 = 0;
ECap1Regs.ECCTL0.bit.INPUTSEL = 2;
ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1;
EDIS;
查询方式读取数据:
if( ECap1Regs.ECFLG.bit.CEVT1 )
{ ECAP1_CAP = ECap1Regs.CAP1; ECap1Regs.ECCLR.bit.CEVT1 = 1; }
else if( ECap1Regs.ECFLG.bit.CEVT2)
{ ECAP1_CAP2 = ECap1Regs.CAP2;
ECap1Regs.ECCLR.bit.CEVT2 = 1;
ECap1Regs.ECCTL2.bit.REARM = 1;
}
else if( ECap1Regs.ECFLG.bit.CEVT3)
{ ECAP1_CAP2 = ECap1Regs.CAP3;
ECap1Regs.ECCLR.bit.CEVT3 = 1;
ECap1Regs.ECCTL2.bit.REARM = 1;
}
else if( ECap1Regs.ECFLG.bit.CEVT4)
{ ECAP1_CAP2 = ECap1Regs.CAP4;
ECap1Regs.ECCLR.bit.CEVT4 = 1;
ECap1Regs.ECCTL2.bit.REARM = 1;
}