您好专家、
我们在 F28075 SCI 调试中遇到问题:
1) SCI-RX 引脚始终具有数据(主机每100ms 发送一个数据帧、每个数据帧为15字节)、但寄存器 SCIFFRX.BIT.RXFFST 在大约30s 内为0;
2) 30秒期间、SCIRXST.RXERROR 和 SCIRXST.FE 都设置为1、软件没有复位串行端口(SW 复位未设置为1)、但后来读取SCIRXST.RXERROR 和 SCIRXST.FE 的值都为0;
3) 3)在 SCI 无法接收数据的现象持续大约30秒后、SCI 接收到的数据恢复正常。
有两个问题、请帮助回答、谢谢!
Q1:SCIRXST.RXERROR 设置为1后、SCI RX 缓冲器无法接收数据? SCIRXST.RXERROR 设置为1后、SCI 的接收/发送处理逻辑是多少? 《TMS320F2807x 微控制器技术参考手册》中未找到相关说明;
Q2:在 SCIRXST.RXERROR 被设定为1后、不执行软件复位。 为什么 SCIRXST.RXERROR 和 SCIRXST.FE 被清零?
SCI 配置代码如下:
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