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.

[参考译文] 编译器/MSP430FR2355:请解释为什么我无法设置断点??

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/911082/compiler-msp430fr2355-please-explain-why-i-cannot-set-breakpoint

器件型号:MSP430FR2355

工具/软件:TI C/C++编译器

有人能告诉我为什么我无法设置断点吗? 请参阅 attached....e2e.ti.com/.../1651.Doc1.docx

如果条件是.....、我似乎无法在 CRC_RESULT 之后设置任何断点 有人知道原因吗?  当然、该代码必须在'if'语句之后运行?

如果(!transmitter){
if (msgRcvd){
mssgRcvd = F;
PRx =传入;
P5OUT &=~BIT0;
memcpy (noCRC、传入、sizeof (noCRC));
CRC_RESULT = CRC (noCRC);
if ((char)((((crc_result >> 8)& 0xFF)=Incoming[6])&&((char)(((crc_result & 0xFF)=Incoming[7]))){
一组代码!!!!!!!
!!!}
RFPackets ++;//仅限故障排除行
PRx =传入;
UCA1RXBUF = 0;
UCA1IFG &=~UCRXIFG;
UCA1IE |= UCRXIE;
}
}

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

    您是否打开了优化功能?

    有时您无法设置断点、因为优化已删除或重新排序代码。

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

    看我的设置...不确定我要在哪里设置它?

    把它关闭了,但是没有什么用处…

    e2e.ti.com/.../0044.Doc1.docx

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

    CRC_RESULT 的类型是什么? 如果我头上的计算机工作正常、如果它是8位、当你执行移位时、你将得到0、因此 if 子句永远不能执行、实际上将短路。

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

    CRC_RESULT 是一个无符号整型..... 它是使用 CRC 硬件(16位结果)的一个经罐头的 TI 寄存器级程序的返回值。。。

    有趣的...如果我将代码块放在 if 语句之前,我可以设置断点,但是 if 语句中的最后一行不允许我设置断点..... 在原始上下文中,我可以在 if 语句中的最后一行设置断点,但不能在 if 语句后面的行设置断点。。。 这对您有什么影响吗?

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

    为什么要将==的布尔结果转换为 char?

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

    进入的 bcz 是来自无线电的字符格式.....

    我从零开始将源代码放入沙盒中,现在我可以设置断点..... 它与我的 proj 设置有关...我一直在尝试调试配置、这可能与它有关????  我有两个2355评估模块连接到 USB1和 USB2……我创建了两个 CCXML 文件,一个用于主机,一个用于客户端…… 我创建了多个调试配置,然后我选择了我感兴趣的加载代码的配置...例如,一个调试/配置用于符号,一个用于程序...但我查看了其中的开关,看不到任何引起标志的东西...沙盒也包含与相同的优化 我这么认为、我不会这样认为

    您的想法

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

    我一直在使用不同的调试/configs 和 ccxml ...使用调试窗口,我显示我由于某种原因未连接到目标...我已使它立即工作/连接,并可以设置断点... 不是完全确定我做了什么、但我认为它已经解决了...

    感谢你的帮助

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

    我用数字表示了参数的级别:

    (4(1char1)(3(2(1CRC_Result >> 81) & 0xFF2) == incoming[6]3)

    您没有铸件 ((CRC_Result >> 8) & 0xFF) to a char which makes sense to compare the same things, but the result of x==y.

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

    是的,似乎我正在铸造(char)(x=y)…… 这绝对是不正确的。。。 假设 x 是无符号整型、y 是 char、那么我应该是(char) x = y... 这是你说的吗?

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

    是的、这就是我说的。