我用 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次,这是怎样回事,望各位高手请教.
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |