Среда, 23 марта 2011 22:30				
				
			  			  
			  
		  Реализация конечного автомата (state machine)
Мартин Гомез
   Преобразование конечного автомата в программу может быть достаточно простым, если вы будете следовать советам опытного практика.
   Многие программы для встраиваемых систем зачастую лучше всего реализуются в виде  конечного автомата. К таким программам можно отнести приложения выполняющие последовательность действий и приложения обрабатывающие входные сигналы в зависимости от режима. 
   Эта статья описывает простой подход к созданию конечных автоматов для встраиваемых систем. За последние 15 лет я применял данный подход при разработке  нескольких десятков систем, включая пользовательский интерфейс, коммуникационные протоколы,  механизм транспортировки кремниевых пластин и программное обеспечение для беспилотных летательных аппаратов.
			  
				Published in
				Программирование AVR
			
			
						
			
			
			
		
								
				
					Воскресенье, 14 марта 2010 14:23				
				
			  			  
			  
		  Учебный курс. Опрос матричной клавиатуры. Пример использования автомата (State Machine)
    Для ввода цифровой и буквенной информации в приложениях на базе микроконтроллеров используются клавиатуры. Клавиатура представляет собой блок из нескольких кнопок, объединенных конструктивно и связанных между собой электрически по матричной схеме. В этой статье мы рассмотрим алгоритм опроса матричной клавиатуры и разберем пример его программной реализации.
			  
				Published in
				Программирование AVR
			
			
						
			
			
			
		
								
				
					Воскресенье, 24 января 2010 21:55				
				
			  			  
			  
		  Организация программ. Событийная система (Event driven system)
   Вопросы организации программ встраиваемых систем довольно скудно освещены в отечественной литературе. Поэтому у начинающих программистов микроконтроллеров рано или поздно возникают проблемы при написании  больших проектов. 
    Стандартный подход к построению микроконтроллерных программ сводится к использованию бесконечного цикла, внутри которого происходит опрос флагов, и вызываются разные функции. Однако, такая программа не наглядна, и ее сложно модифицировать. 
    Организация программы в виде событийной системы (event driven system) лишена этих недостатков, позволяет реализовывать сложную логику, и не так “тяжеловесна” как операционные системы (RTOS). В этой статья мы разберемся с принципом ее работы и рассмотрим простой вариант ее реализации.
			  
				Published in
				Программирование AVR
			
			
						
			
			
			
		