16+
Суббота
24 августа
Вход |Карта сайта |Upload |codebook | PARTS

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

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

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

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

caxapa

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

AVR PIC MSP PLD,FPGA,DSP 

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

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

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

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
VLLV  (12.04.2019 16:44) , в ответ на а где такое подсмотрели, как называется механизм? биты выставленные по условиям потом разворачиваются в результат? автор: NAUT
В этом проекте биты не разворачиваются, а используются внутри функций обработки состояния просто с помощью маски. Альтернативный вариант такой:  
допустим, эти биты в found_event
char GetEvent(void)
{	char i;
	char my_mask=(char)1;

	for (i=1;	i<=kbdQty-1;	i++)
		{	if	(found_events&my_mask)
			{	found_events&=~my_mask;
				return(i);
			}
			my_mask=my_mask<<1;
		}
return(0);
}
функция возвращает номер события, привязанный к биту условия. Тогда обработка состояния происходит так: function[actual_state][GetEvent()]. Но я от этого сейчас отказался, я использовал такой вариант, когда в одном приборе было несколько одинаковых логических автоматов. С одним автоматом нагляднее писать через switch
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX