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 statement issue / question?

Part Number: MSP430FR2355


I have the following block of code....

                case DEFINE_SYS:
                    if (process.sysIDlockoutFlag)
                    {
                        switch (sysMssg) 
                        {
                        case MSG1:
                            mssg[4] = (0xC0);
                            mssg[5] = *p_Seq;
                            sysMssg++;
                            break;
                        case MSG2:
                            mssg[4] = (0xA0);
                            mssg[5] = *(p_Seq + 1);
                            sysMssg++;
                            break;
                        case MSG3:
                            mssg[4] = (0x90);
                            mssg[5] = *(p_Seq + 2);
                            sysMssg++;
                            break;
                        case MSG4:
                            mssg[4] = (0x88);
                            mssg[5] = *(p_Seq + 3);
                            sysMssg++;
                            break;
                        default :
                            sysMssg = 0;
                            currentSwState = 0;
                            swInfo.multipleSw = F;
                            swInfo.err = F;
                            swInfo.twoSec = 0;
                            memset(swInfo.hits, 0, sizeof(swInfo.hits));
                            process.mssgPopulatedFlag = F;
                            Button = NUL;
                            wakeRadio(F);
                            break;
                        }
                    }
                    else
                        swInfo.multipleSw = F;
                        swInfo.err = F;
                        swInfo.twoSec = 0;
                        memset(swInfo.hits, 0, sizeof(swInfo.hits));
                        Button = NUL;
                    break;

All indicators are true : DEFINE_SYS, process.sysIDlockoutFlag = -1, mssg[4] and mss[5] populated with correct values, sysMssg = MSG2 , yet I am able to set a break point in the else section and the code stops.  Can someone explain?  Seems once the case statement reaches a break point it not only breaks out of the switch but also seems to break out of the if condition and decides to run the else portion......

**Attention** This is a public forum