ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
915757 Топик полностью
VLLV (13.04.2019 16:15, просмотров: 257) ответил Скрипач на Стоп! Не вижу в тексте. Как в пределах одного состояния проверить условие дать задержку и проверить другое условие?
Например вот так.  void fRemotePin(void) // состояние ввода PIN по интерфейсу { switch (event) { case evNew: // заходим первый раз pcPrompt(0); ShowRemoteControl(); my_pin=0; chars_qty=0; SetLcdPos(1,2); if (state.old != stWaiting) // были в состоянии ожидания? StartOperation(100); // нет, стартуем задержку OffFlag(low_power_enable); OffPin(ErrorLed); echo_disabled=1; Old(); break; case evRemoteService: case evOpOver: // событие окончания задержки case evUpDn: if (my_pin == 0) // ничего не введено? NEWS(stRestart); // да, на сброс break; case evRemoteChar: chars_qty++; my_pin=(my_pin*10)+(remote_char-0x30); if ( (my_pin==se.RemotePin) || (my_pin==MasterPin) || (my_pin==FactoryPin) ) { NEWS(stRemoteMenu); break; } if (chars_qty>=5) NEWS(stRestart); break; } }