我在弄TMS320F2812与其他芯片的通信,想先用TMS320与pc通信测试,结果pc端接收数据是正常的,但是pc端发送数据给F2812时,却无法正常效应那个接收的中断,后面我调试时发现,在初始化fifo时,SCIRXBUF的最高位,被置1了的,那个是数据帧错误的标识,找了很多程序都没完成,如果你有可以正常运行的程序,可以给我一份吗?
这是我用的:
//串行口FIFO初始化程序
void SciaFifoInit(void) {
// *
ScibRegs.SCIFFTX.bit.SCIFFENA = 1; // 使能 fifo
ScibRegs.SCIFFTX.bit.SCIRST = 1; // 继续执行功能
ScibRegs.SCIFFTX.bit.TXFFIENA = 1; // 不使能接收fifo
ScibRegs.SCIFFTX.bit.TXFFILIL=0x10; //12级FIFO使能
ScibRegs.SCIFFTX.bit.TXINTCLR=1;
ScibRegs.SCIFFTX.bit.TXFIFOXRESET=0;
ScibRegs.SCIFFRX.bit.RXFFOVRCLR=1; // 清除溢出标志位
ScibRegs.SCIFFRX.bit.RXFFINTCLR=1; // 清除中断标志位
ScibRegs.SCIFFRX.bit.RXFIFORESET=0;
ScibRegs.SCIFFRX.bit.RXFFIENA=1; // 使能接收中断
ScibRegs.SCIFFRX.bit.RXFFIL=0x05;
ScibRegs.SCIFFCT.all = 0x00;
ScibRegs.SCICTL1.bit.SWRESET=1; //Relinquish SCI from Reset
ScibRegs.SCIFFTX.bit.TXFIFOXRESET = 1;
ScibRegs.SCIFFRX.bit.RXFIFORESET = 1;
}
Shine:
TMS320F2812属于C2000系列,请到专门的C2000论坛咨询。
e2echina.ti.com/…/