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:Switch 语句问题/问题?

Guru**** 2537340 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/971317/msp430fr2355-switch-statement-issue-question

器件型号:MSP430FR2355

我有以下代码块

案例 define _SYS:
if (process.sysIDlockoutFlag)
{
交换机(sysMssg)
{
案例 msg1:
mssg[4]=(0xC0);
mssg[5]=* p_seq;
sysMssg++;
中断;
案例 msg2:
mssg[4]=(0xA0);
mssg[5]=*(p_seq + 1);
sysMssg++;
中断;
案例 msg3:
mssg[4]=(0x90);
mssg[5]=*(p_seq + 2);
sysMssg++;
中断;
案例 msg4:
mssg[4]=(0x88);
mssg[5]=*(p_seq + 3);
sysMssg++;
中断;
默认值:
sysMssg = 0;
currentSwState = 0;
swInfo.multipleSw = F;
swInfo.err = F;
swInfo.twoSec = 0;
memset (swInfo.hits、0、sizeof (swInfo.hits));
process.msgPopulatedFlag = F;
按钮= NUL;
WakeRadio(F);
中断;
}
}
其他
swInfo.multipleSw = F;
swInfo.err = F;
swInfo.twoSec = 0;
memset (swInfo.hits、0、sizeof (swInfo.hits));
按钮= NUL;
中断;

所有指示符都为 true:define SYS、process.sysIDlockoutFlag =-1、mssg[4]和 MSS[5]用正确的值填充、sysMssg = msg2、但我可以在 else 部分中设置断点、代码停止。  有人能解释一下吗?  似乎一旦案例陈述达到断点,它不仅打破了开关状态,而且似乎打破了 IF 条件,决定运行其他部分......

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

    您是否在该最终"其他"块周围遗漏了一些花括号? 如果没有它们、最后4行是通用代码。

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

    啊!!!!!

    好的!

    有时你完全错过了显而易见的...