16+
Пятница
19 апреля
Вход |Карта сайта |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Средства и методы разработки

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
VLLV  (13.04.2019 16:15) , в ответ на Стоп! Не вижу в тексте. Как в пределах одного состояния проверить условие дать задержку и проверить другое условие? автор: Скрипач
Например вот так.  
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;
	}
}
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX