TMS320F28335使用多个串口时,SCIRXST Register出现错误
串口转光部分,上下电会引起DSP里的串口接收数据报错SCIRXBUF BITS结构
Uint16 SCIFFPE:1; //14 Receiver error flag
Uint16 SCIFFFE:1; // 15 Receiver error flag
解决方法如下:
其一
其二:
其三:
void ClearErrorState(void)
{
if((SciaRegs.SCIRXST.bit.FE == 1)||(SciaRegs.SCIRXST.bit.BRKDT ==1))
{
SciaRegs.SCICTL1.bit.SWRESET = 0;
SciaRegs.SCICTL1.bit.SWRESET = 1;
}
if((ScibRegs.SCIRXST.bit.FE == 1)||(ScibRegs.SCIRXST.bit.BRKDT ==1))
{
ScibRegs.SCICTL1.bit.SWRESET = 0;
ScibRegs.SCICTL1.bit.SWRESET = 1;
}
if((ScicRegs.SCIRXST.bit.FE == 1)||(ScicRegs.SCIRXST.bit.BRKDT ==1))
{
ScicRegs.SCICTL1.bit.SWRESET = 0;
ScicRegs.SCICTL1.bit.SWRESET = 1;
}
}