Я бы сделал так (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ... 27 мая 2003 г. 13:44
В ответ на: Вопрос чайника :) отправлено Drug 27 мая 2003 г. 13:01

Сначала пишешь подпрограмму динамической индикации, которая просто выводит на индикатор то, что лежит в некотором буфере. Подпрограмма вызывается в прерывании от таймера, например, каждых 2мс.
Как отсчитывать время - без разницы, либо в прерывании от другого таймера, настроенного на 1 сек (проще - не нужно заводить дополнительный счетчик, чтобы пропускать лишние прерывания, и структура программы более понятна), либо в том же прерывании, в котором вызывается подпрограмма динамической индикации.
Должна быть еще подпрограммка, которая преобразует время из двоичного вида в формат данных индикатора и кладет их в буфер для подпрограммы динамической индикации (вызываешь, например, в главном цикле по флажку, который выставляется в прерывании от 1-секундного таймера). Буфер динамической индикации является разделяемым ресурсом, поэтому при записи в него должен быть "залочен", т.е. защищен от доступа для другой подпрограммы.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru