我用 TMS320F2812 做了一个项目,里面有对三相电压、电流的采样和工频的计算 AD的采样启动信号通过通用定时器1的比较寄存器产生PWM信号启动,AD的采样完成信号触发XINT1中断 EvaRegs.T1PR = 75000000/50*32; // 75000000 外部高速时钟 150MHz/2, 50HZ工频,每个周波32次采样 EvaRegs.T1CMPR =0x64;//低电平持续时间(MAX125超过30nS)为1333.333nS // Step 2 Setup T1PWM EvaRegs.GPTCONA.bit.TCOMPOE=1; EvaRegs.GPTCONA.bit.T1PIN = 2; 同时启动CAP1 EvaRegs.CAPCON.bit.CAPQEPN=1; //使能捕捉 EvaRegs.CAPCON.bit.CAP1EDGE=1; /检测上升沿 EvaRegs.CAPCON.bit.CAP12TSEL=1; //选定时器1 EvaRegs.CAPFIFO.bit.CAP1FIFO=0; //CAP1FIFO空 EvaRegs.EVAIFRC.bit.CAP1INT=1;//清捕获中断1标志位 EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕获1中断使能 并使能T1的周期中断 EvaRegs.T1CNT=0; EvaRegs.EVAIMRA.bit.T1PINT=1; // Enable T1PINT in the PIE: Group 2 interrupt 4 PieCtrlRegs.PIEIER2.bit.INTx4 = 1; 在T1_PINT_ISR中 T1周期循环次数+1; 在AD采样的同时,工频信号被cap1捕获,并产生中断 ,我在中断中读取T1周期的循环次数,发现当屏蔽掉XINT1中断后,在中断中读到T1的T1周期循环次数基本上是32次,但是不屏蔽XINT1中断却读到T1的T1周期循环次数基本上是1次,这是怎样回事,望各位高手请教.
|