我的程序在优化级别1下工作正常、但任何高于该级别的操作都会导致程序停止。 其中:
while (RxDataReady < 1)
{
IF (二级标志)
{
CmdTimeOutCount++;
第二标志= 0;
}
if (CmdTimeOutCount > 60)转至 ErrorBail;//等待字符进入
}
当它失败时、RxDataReady 为1、表示接收字符。 在调试中、MCU 将从 if 语句循环步进至 if 语句、忽略 (RxDataReady < 1)为 false 这一事实。 在反汇编中、 较高优化缺少 while (RxDataReady < 1)行、但出现在级别1。
这对我来说并不重要、因为代码在1级运行良好、但它令人担忧。 有什么建议吗?
我使用的是 Code Composer Studio 版本:10.0.00010