реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ucos avr и lcd io
_artem_
сообщение Jul 4 2006, 12:18
Сообщение #1


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



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

Технические требования таковы :
- прерывания не должны влиять на замешение задачи на другую с более высоким приоритетом
- вывод на экран не должен прерывать запись одного байта (4 битовый режим)
- вывод на экран может прерываться в течении времени после окончания записи одного знака и до начала записи другого

Есть несколько решений этого дела , просто интересно как другие делают подобное :
- самое простое полностю запретить прерывания
- на период записи искуственно поднять приоритет записываюшей задачи на максимальный
- делать ucos неадаптированное прерывание с незадействованным таймером а коротать время в задаче поллингом volatile переменной изменяемой по прерыванию от таймера при записи знака.
- сделать отдельную задачу записи знака на lcd работаюший на максимальном приоритете (чтото типа kernel level) и в последуиюшем адаптуировать ее к подобным задачам интерфейса с периферией .

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

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


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
_artem_
сообщение Jul 4 2006, 12:44
Сообщение #2


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



.... mожно еще пару OS_SchedLock() and OS_SchedUnlock() применить .


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 20:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016