Hi expert,
We encounter a problem in F28075 SCI debugging:
1) The SCI-RX pin always has data (the host computer sends a frame of data every 100ms, each frame of data is 15 bytes), but the register SCIFFRX.bit.RXFFST is 0 for about 30s;
2) During the 30s, both SCIRXST.RXERROR and SCIRXST.FE were set to 1, and the software did not reset the serial port (SW RESET was not set to 1), but later read the values of SCIRXST.RXERROR and SCIRXST.FE. are both 0;
3) After the phenomenon that the SCI cannot receive data lasts for about 30s, the data received by the SCI returns to normal.
There are two questions, please help to answer, thank you!
Q1: After SCIRXST.RXERROR is set to 1, SCI RX BUFF cannot receive data? After SCIRXST.RXERROR is set to 1, what is the receive/transmit processing logic of SCI? No relevant instructions were found in "TMS320F2807x Microcontrollers Technical Reference Manual";
Q2: After SCIRXST.RXERROR is set to 1, software reset is not performed. Why are SCIRXST.RXERROR and SCIRXST.FE cleared?
SCI configuration code is below:
ScicRegs.SCICCR.all =0x0007; ScicRegs.SCICTL1.all =0x0003; ScicRegs.SCICTL2.bit.RXBKINTENA =0; //Baud rate is 38400 bit/s = 20000000/((64+1)*8) //LSPCLK = 20MHz ScicRegs.SCIHBAUD.all = 0;//ARM_BAUD>>8; ScicRegs.SCILBAUD.all = 64;//ARM_BAUD&0x00ff; ScicRegs.SCICTL1.all =0x0023; ScicRegs.SCIFFTX.all=0xC000; ScicRegs.SCIFFRX.all=0x10; ScicRegs.SCIFFCT.all=0; ScicRegs.SCIFFTX.bit.TXFIFORESET=1; ScicRegs.SCIFFRX.bit.RXFIFORESET=1;
BR
Emma