描述:28335,SCI使用地址位唤醒,使能睡眠位。发送的数据,不管校验类型(mark,space,无),在接收中断中,RXWAKE均会置位为1,进入地址判断。按照正常逻辑只有mark校验才能唤醒RXWAKE,之后读取数据RXWAKE复位,Sleep置0以后,RXWAKE就不会为1了。另外,同样配置在28035中使用正常。如有遇到相同问题,望多多指教,非常感谢!
SCI配置代码:
ScibRegs.SCICCR.all = 0x0f; //SCICHAR_LENGTH_8, Address-bit mode protocol selected
ScibRegs.SCICTL1.all = 0x0007; // enable TX, RX, SLEEP // Disable RX ERR, TXWAKE
ScibRegs.SCIHBAUD = (((Uint32)SciB_PRD >> 8));
ScibRegs.SCILBAUD = (((Uint32)SciB_PRD & 0x00FF));// 115200 baud @LSPCLK = 37.5MHz.
ScibRegs.SCICTL2.bit.TXINTENA =1;//
ScibRegs.SCICTL2.bit.RXBKINTENA = 1;
//ScibRegs.SCICCR.bit.LOOPBKENA =1; // Enable loop back
ScibRegs.SCIFFTX.all = 0xC040; //SCI Reset,SCIFFENA,TXFFINTFLAG CLEAR//C040
ScibRegs.SCIFFRX.all = 0x0061; //RXFIFO Reset,SCIFFENA,TXFFINTFLAG CLEAR//0061
ScibRegs.SCIFFCT.all = 0x00;
ScibRegs.SCICTL1.all = 0x0027; // Relinquish SCI from Reset
ScibRegs.SCIFFTX.bit.TXFIFOXRESET = 1;
ScibRegs.SCIFFRX.bit.RXFIFORESET = 1;