This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C2000的SCI接收的一个奇怪问题。

现象:在DEBUG状态下运行,---- 正常!而重新上电后却不正常(仅SCI不正常)。

描述:烧写程序后进入的DEBUG状态,正常运行程序,其设置为:

    SciaRegs.SCICCR.all =0x0007;   // 1 stop bit,  No loopback
                                   // No parity,8 char bits,
                                   // async mode, idle-line protocol
    SciaRegs.SCICTL1.all =0x0003;  // enable TX, RX, internal SCICLK,
                                   // Disable RX ERR, SLEEP, TXWAKE
    SciaRegs.SCICTL2.bit.TXINTENA =1;
    SciaRegs.SCICTL2.bit.RXBKINTENA =1;

    SciaRegs.SCIHBAUD    =0x0000;   //
    SciaRegs.SCILBAUD    =0x0040;   // baud = 115200. @ LSP = 60MHz

    SciaRegs.SCICTL1.all =0x0023;  // Relinquish SCI from Reset

在中断允许里,打开了接收中断。接收部分设置了10个数组,用于存入接收数据。

为了检查DEBUG状态下和非调试状态下的区别,当在DEBUG状态时,选择 Disconnect Target,然后再给目标板重新上电,向串口输入端发送字符---工作 不正常。而这时再选择Connect Target后,再运行,目标板又正常工作,再看接收数组,每次发现第一个数组为0,其它为随机数。

因为在DEBUG状态重新连接目标板时,内部寄存器都重新初始化。所以没办法从寄存器的内容上找到原因!

请专家帮忙!请大伙帮忙!

x 出现错误。请重试或与管理员联系。