Перейти к содержанию
    

ucos avr и lcd io

Вопрос стратегически тактического подхода - нужно вывести буфер в lcd 4х20 = 80 знаков na Hitachi lcd . Дело втом что стоит менюподобная система работаюшая внутри задачки с самым низким приоритетом. Сначала содержание экрана записывается в буфер а затем буфер копируется один к одному на lcd. Такая кофнигурация сделана потому что меню манагер поддерживает псевдовиджеты на символьном lcd с последуюшим развитием ан графический дисплей.

 

Технические требования таковы :

- прерывания не должны влиять на замешение задачи на другую с более высоким приоритетом

- вывод на экран не должен прерывать запись одного байта (4 битовый режим)

- вывод на экран может прерываться в течении времени после окончания записи одного знака и до начала записи другого

 

Есть несколько решений этого дела , просто интересно как другие делают подобное :

- самое простое полностю запретить прерывания

- на период записи искуственно поднять приоритет записываюшей задачи на максимальный

- делать ucos неадаптированное прерывание с незадействованным таймером а коротать время в задаче поллингом volatile переменной изменяемой по прерыванию от таймера при записи знака.

- сделать отдельную задачу записи знака на lcd работаюший на максимальном приоритете (чтото типа kernel level) и в последуиюшем адаптуировать ее к подобным задачам интерфейса с периферией .

 

использование семафоров и мютексов для задержки во время записи знака нежелательно так как context switch на avr требует большого времени.

 

интересно услышать ваши мнения .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...