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.

[参考译文] CCS/MSP430G2553:调试器跳过所有数学运算。

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/931233/ccs-msp430g2553-debugger-skip-over-all-math-operation

器件型号:MSP430G2553

工具/软件:Code Composer Studio

您好!  

我不确定是否有人有此问题、 我一直在搜索是否有解决方案、我找不到。  所以、我决定问  

这是一个简单的程序:


void main (void)

   int i;     //  

   浮点;  //******* 编译器与 此变量交战从未使用过***************

while (1)

 UART_TX ("Blink 绿色和红色 LED 测试\r\n");//如果是、发送消息
延迟(1000);//延迟2秒

P2OUT ^= GRN_LED;   //闪烁绿色 LED

//----- 这两行永远不会执行*********  

= 100 * 15;         //调试器将跳过。

I = I+100;               //调试器将跳过。  

(三

延迟(1000);//延迟2秒

P2OUT ^= RED_LED;   //使红色 LED 闪烁


}// while (1)循环结束

空 UART_TX (char*TX_data)           //定义接受数组字符指针的函数

unsigned int i=0;
while (TX_DATA[i])                    //通过数组递增,查找字符串末尾的空指针(0)


while ((UCA0STAT 和 UCBUSY));      //等待线路 Tx/RX 模块正忙于处理数据
UCA0TXBUF = TX_DATA[i];            //发送 UART 总线上 TX_DATA 数组的 Select I

********* 这项工作原理是*********

i++;                             //递增数组地址的变量

     (小部分

     }// while 循环结束。


}// UART_TX 函数模块结束。

那么、我是否需要在 CCS 中进行设置才能使其正常工作?   我甚至在"i = i+100;"行放置了一个断点  、当我转到调试器时、它只需将断点移动到下一行即可。  

提前感谢!  

Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为代码生成器将变量扔掉、因为它们没有被使用。 您可能会尝试将变量设置为"volatile"。

    这不会保留算术、因为代码生成器可能会在编译时执行算术。 为此、请尝试创建初始化为数字常量的"易失性"变量。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bruce、  

    谢谢!!  这可以解决我的问题。。。 我现在不是很熟悉。  感谢您花时间回答我的问题。

    Tom