ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
13 мая
1517672 Топик полностью
Бoмж (Вчера, 15:59, просмотров: 84) ответил Cкpипaч на Отличия.
Вот пример с установкой выходов и переходом без потери цикла 
void foo()
{
static int state = 0;
static int TimeMeasure = 0;

switch(state)
{
case NAME0:
if(Button1())
{
OUTPUTS(Led1, SET);
OUTPUTS(Led2, RESET);
state = NAME3;
goto m1;
}
if(Button2()){state = NAME2; break;}
TimeMeasure = 0; state = WAIT1;
break;

case NAME1:
if(Button1()){state = NAME2;}
if(Button2()){state = NAME3;}
break;

case NAME2:
if(Button1()){state = NAME1;}
if(Button2()){state = NAME3;}
break;

m1:

case NAME3:
if(Button1()){state = NAME0; break;}
if(Button2()){state = NAME1; break;}
TimeMeasure = 0; state = WAIT2;
break;

case WAIT1:
if(TimeMeasure >= 100){state = NAME3;}
break;

case WAIT2:
if(TimeMeasure >= 500){state = NAME2;}
break;

default:
state = NAME0;
break;
}

TimeMeasure++;
}
memento mori