在使用DSP28377D通过scic模块与位置传感器进行通讯,当程序烧写RAM里面时,程序可以正常运行,scic可以正常的发送和接受数据,但是我把程序烧写到Flash里面的时候,程序一直等待不到接受标志位置1,导致程序卡死在这里,一直在while那里等待,无法运行。当把while注释掉,程序就可以运行。可以确定scic配置正确,波特率正确,发送和接受都使能了,在RAM里面可以正常运行,当烧写flash后通过串口调试软件也可以确定dsp给位置传感器发送了正确的指令,位置传感器也返回了正确的指令,所以不清楚接受寄存器的标志位为啥不置位,希望给与指导和解答,谢谢,本人联系方式13852037592.
void RS485_ReceiveData()
{
Uint16 j=0;
for(j=0;j<=8;j++)
{
while(ScicRegs.SCIRXST.bit.RXRDY != 1);
RS485_RX_BUFF[j] = ScicRegs.SCIRXBUF.all;
}
}