Hello,
SCI uses Address-Bit Multiprocessor Mode. In the receive interrupt, RXWAKE bit will be set to 1 and enter the address judgment ,regardless of the check type(mark, space, etc) of received data . In other words ,RXWAKE can be awakened regardless of whether the address bit is 0 or 1.
According to normal logic, mark check can wake up RXWAKE bit and other check cannot . After reading the data, RXWAKE is reset and Sleep is set to 0, RXWAKE bit will not be 1. In addition, the same configuration is used normally in 28035.
SCI configuration code:
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;
Thanks and best regards,
Weng