Среда, 23 марта 2011 22:30				
				
			  			  
			  
		  Реализация конечного автомата (state machine)
Мартин Гомез
   Преобразование конечного автомата в программу может быть достаточно простым, если вы будете следовать советам опытного практика.
   Многие программы для встраиваемых систем зачастую лучше всего реализуются в виде  конечного автомата. К таким программам можно отнести приложения выполняющие последовательность действий и приложения обрабатывающие входные сигналы в зависимости от режима. 
   Эта статья описывает простой подход к созданию конечных автоматов для встраиваемых систем. За последние 15 лет я применял данный подход при разработке  нескольких десятков систем, включая пользовательский интерфейс, коммуникационные протоколы,  механизм транспортировки кремниевых пластин и программное обеспечение для беспилотных летательных аппаратов.
			  
				Published in
				Программирование AVR
			
			
						
			
			
			
		
								
				
					Понедельник, 06 декабря 2010 18:14				
				
			  			  
			  
		  Организация программ. Событийная система на таблице
    Стандартный подход к написанию программы для микроконтроллера сводится к использованию бесконечного цикла (суперлупа), внутри которого непрерывно опрашиваются флаги и запускаются те или иные функции. Этот подход вполне оправдан для написания небольших программ, но при превышении определенного порога сложности, такая программа становится громоздкой, непонятной и запутанной. Этой ситуации можно избежать, если на начальной стадии разработки оценить сложность программы и выбрать для нее более подходящую форму организации.
   Самой ближайшей альтернативой является событийная система. Она не такая тяжеловесная, как операционная, и в то же время позволяет организовать программу в довольно стройную и понятную конструкцию, которую легко наращивать и изменять. 
			  
				Published in
				Программирование AVR
			
			
						
			
			
			
		