Похожую задачу реализую с помощью SALVO(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено abivan 07 марта 2003 г. 13:49
В ответ на: Нужна помощь в прочистке мозгов по поводу реализации UI и использования RTOS(+) отправлено bialix 07 марта 2003 г. 11:08

имею 3 кнопки, дисплей(динамический 7-и сегментный на 4 места) , АЦП, ЦАП.
Что в прерывании:
таймер на обслуживание RTOS- 10ms
USART -приемник, передатчик. Заполняет или отправляет буфер.

Для клавиатуры отвел отдельную задачу(прерывания стали не нужны)
каждые 10ms опращиваю порт, если сост. изменилось, то антидребезг и т.д. При нажатии и отпускании кнопки генерится сообщение и помещается в очередь.
есть задача ожидающая ввода с клавы. По нажатию анализ и запуск вместо этой задачи другую(ветвление)
Есть задача меню, которая запускается, отработает и убивается.
Есть задача АЦП. Читает данные с внешнего АЦП обсчитывает их и выдает сообщение.
Есть задача дисплея - это общий ресурс. Пользоваться им могут разные задачи. АЦП - вывод измеренного значния. Любая задача-сообщение об ошибке. С буфером сообщений и флагом занятости этого ресурса.
Задача USART, проверяющая адрес прибора CRC и формирующая ответ.
Это пишется на PIC18+SALVO. Думаю и на другом мк без проблем, нужно только портировать ее.
Всего, Иван.


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

Ответы



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

E-mail: info@telesys.ru