Champs,
我是向客户询问此问题。
当 RX上有噪音时,它们会添加软件SCI复位,并使用LED指示是否发生SCI复位。
当他们将系统置于嘈杂的环境中时,他们发现一开始就有软件SCI重置,这是预期的。
但是,当他们测试系统很长时间(几个小时)时,系统似乎挂起了SCI (不再 是TX/RX),但其他功能(如C2000的PWM)仍正常工作。
因此,我们有疑问,需要您的支持来澄清此问题:
1)如何正确地"重置SCI"?
到目前为止,我们将SCI重置如下:
EALLOW;
SciaRegs.SCICTL1.bit.RXENA =0;
SciaRegs.SCICTL1.bit.TXENA =0;
SciaRegs.SCICTL2.bit.RXBKINTENA =0;
SciaRegs.SCICTL2.bit.TXINTENA =0;
PieCtrlRegs.PIEIER9.bit.INTx1=0;
PieCtrlRegs.PIEIER9.bit.INTx2=0;
SysCtrlRegs.PCLKCR0.bit.SCIANCLK=0;
EDIS;
300毫秒后,我们将启用它。
EALLOW;
SciaRegs.SCIRXST.Bit.RXRDY=0;
SciaRegs.SCICTL2.bit.TXRDY=0;
PieCtrlRegs.PIEIER9.bit.INTx1=1;
PieCtrlRegs.PIEIER9.bit.INTx2=1;
PieCtrlRegs.PIEACK.ALL || PIEACK_group9;
SysCtrlRegs.PCLKCR0.bit.SCIANCLK=1;
SciaRegs.SCICTL1.bit.SWRESET=0;
SciaRegs.SCICTL1.bit.SWRESET=1;
SciaRegs.SCICT2.bit.RXBKINTENA=1;
SciaRegs.SCICTL1.bit.RXENA =1;
SciaRegs.SCICTL1.bit.TXENA =1;
EDIS;
2)如果我们多次重置SCI模块,是否有任何问题或问题?
3)重置SCI模块时,是否还清除RX缓冲区?
韦恩