Вставлю свои две копейки: Обозначать состояния просто цифрами некамильфо. Надо перечислением, вот так:
typedef enum
{
START,
A_MODUS,
B_MODUS,
C_MODUS,
D_MODUS
} TSwitchingStates;
volatile TSwitchingStates SwitchingStates = A_MODUS;
switch (SwitchingStates)
{
case A_MODUS: // Stand-by-modus
{
}
break;
case B_MODUS: // B-modus
{
}
break;
// ну и так далее
}