Hello,
Below is my SCI configuration:
SciaRegs.SCICCR.all = 0x0007;
SciaRegs.SCICCR.bit.LOOPBKENA = 1;
SciaRegs.SCICTL2.bit.TXINTENA = 1;
SciaRegs.SCICTL2.bit.RXBKINTENA = 1;
SciaRegs.SCIHBAUD = 0x0000;
SciaRegs.SCILBAUD = SCI_PRD;
SciaRegs.SCIFFTX.all = 0xE020;// E090 //0xC022; think to clr bit 6 also later
SciaRegs.SCIFFRX.all = 0x2033; //0x2034; //0x0022;
SciaRegs.SCIFFCT.all = 0x00;
SciaRegs.SCIFFTX.bit.TXFFINTCLR = 1;
SciaRegs.SCICTL1.all = 0x0023;
SciaRegs.SCIFFTX.bit.TXFIFOXRESET = 1;
SciaRegs.SCIFFRX.bit.RXFIFORESET = 1;
My requirements:
1. Tx interrupt with transmit FIFO buffer is empty.
2. Rx interrupt when receive FIFO buffer is full or transmission complete
I use polling process to write and read into memory buffer to manage data. Tx and Rx interrupts read from this memory buffer or write into this memory buffer respectively.
Current Issues:
1. Too many tx interrupts because TXFFINT is always set. Even if I clear it in my code after initialization it remains HIGH all the time.
2. Other trival issue, I am loosing every 5th byte of data on Rx side. (My FIFO level is set at 4, so looks like some connection there). some hints here also will be useful.
Feel free to ask for more details.
Cheers,
Varun