请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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 条件,决定运行其他部分......