Отправлено
ildar 02 марта 2007 г. 15:40
В ответ на: подскажите по Keil-у 51 отправлено
<font color=gray>Anvar</font> 02 марта 2007 г. 14:34
была как то задача с необходимостью реализации большого количества интервалов времени которые на порядок отличались друг от друга. Тогда я использовал сетку времен - отсеял по возможности некратные промежутки (в большую или меньшую сторону). Допустим 1 мс, 10 мс, 40 мс, 100 мс, 400мс, 1 с, 6с использовал один таймер, в его обработчике вводил вспомогательные программные счетчики. по результатам подсчета устанавливал флаги. В майне анализировал по месту нужный флаг. Если были какие то независимые процессы завязанные с одним и тем же таймером делал для каждого процесса свой флаг. Минусы-нельзя использовать для особо критичных по времени процессов. Точность обработки быстрых событий посредственная, для длительных нормально. Плюсы-Время выполнения обработчика таймера в принципе небольшое. Не надо иметь геммор с несколькими прерываниями от разных таймеров. Упрощается головоломка для раздачи приоритетов прерываниям. Не надо парится со стеком. Интересен опыт других!