你好,我现在需要SCI从另一块芯片接收数据(能保证这块芯片能发出正确的数据),但对SCI这么配置后还是接收不到数据,想问一下是 不是我的寄存器配置有问题,这个是参照例程的,采用的是查询的方式,而例程中也没有提出对两块芯片通信的配置,谢谢!
SciaRegs.SCICCR.bit.SCICHAR=7; // 8位字符
SciaRegs.SCICCR.bit.ADDRIDLE_MODE=0; // 选择空闲线模式
SciaRegs.SCICCR.bit.LOOPBKENA=0; // 禁止回送测试功能
SciaRegs.SCICCR.bit.PARITYENA=0; // 禁止极性功能
SciaRegs.SCICCR.bit.PARITY=0; // 禁止奇校验
SciaRegs.SCICCR.bit.STOPBITS=0; // 一个结束位
SciaRegs.SCICTL1.bit.RXENA=1; // 使能接收
SciaRegs.SCICTL1.bit.TXENA=1; // 使能发送
SciaRegs.SCICTL1.bit.SLEEP=0; // 禁止睡眠
SciaRegs.SCICTL1.bit.TXWAKE=0; // 禁止TXWAKE
SciaRegs.SCICTL1.bit.SWRESET=0;
SciaRegs.SCICTL1.bit.RXERRINTENA=0;
SciaRegs.SCICTL2.bit.TXINTENA=1;
SciaRegs.SCICTL2.bit.RXBKINTENA =1;
SciaRegs.SCICTL2.bit.TXEMPTY=0;
SciaRegs.SCICTL2.bit.TXRDY=0;
SciaRegs.SCIHBAUD =0x0000;
SciaRegs.SCILBAUD =0x00C2;
SciaRegs.SCICCR.bit.LOOPBKENA =1;
SciaRegs.SCICTL1.bit.SWRESET=1;
SciaRegs.SCIFFTX.all=0xE040;
SciaRegs.SCIFFRX.all=0x2041;
SciaRegs.SCIFFCT.all=0x0;
Johnson Chen1:
先确保例程可以正常接收数据,然后在禁止掉loopback功能再测试。