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

 
 
> UART работа с прерывание
Dan_Dima
сообщение Dec 5 2007, 19:49
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Привет Всем.

контроллер LPC

Хочу разобраться с отправлением данных через UART посредствам прирывания.

В документации написано что прерывания с рабатывает только когда в фифо приемник поступит 2 или более символов.

У меня был написан драйвер по работе с UART с программным фифо и было написно так: проверяем счетчик фифо и U0THR если cxtnxbr 0 и регистр пуст то записываем напрямую в U0THR если же хоть одно условие не выполняеться то пишем в программный фифо, увеличиваем счетчик и разрешаем прерывания. По такой схеме все работает проблем нет.

Но меня терзают сомнения все же почему в доках написано 2 символа и как это понимать.

Очень хочеться чтобы кто-то грамотно растолковал.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Dec 5 2007, 21:41
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



По-моему там речь о задержке этого прерывания после стартапа MCU, чтобы не завалить ненужными еще THRE прерываниями. Могу ошибаться
Go to the top of the page
 
+Quote Post
Dan_Dima
сообщение Dec 5 2007, 22:01
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Цитата(DASM @ Dec 6 2007, 01:41) *
По-моему там речь о задержке этого прерывания после стартапа MCU, чтобы не завалить ненужными еще THRE прерываниями. Могу ошибаться


Да оно так или при разрешении прерывания когда оно разрешаеться а U0THR пуст. В любом случаии написано что необходимы 2 символа.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Dec 6 2007, 05:22
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(Dan_Dima @ Dec 6 2007, 03:01) *
Да оно так или при разрешении прерывания когда оно разрешаеться а U0THR пуст. В любом случаии написано что необходимы 2 символа.

Читайте внимательнее, про необходимость 2-х символов не написано, написано про задержку прерывания.
Если вы запихивает в очередь подряд 2 и более байта то прерывание происходит сразу по опустошению ФИФО (но пока ещё передаётся последний байт).
Если зараз отправляете 1 байт, то прерывание происходит с задержкой в один символ без стоп бита (т.е. по фактической передаче символа).

PS Дока кривовастая, некоторые моменты по несколько раз читать надо! smile.gif
Go to the top of the page
 
+Quote Post
Dan_Dima
сообщение Dec 7 2007, 09:11
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Спасиб. Теперь все понтяно.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 09:16
Рейтинг@Mail.ru


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