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

 
 
> FIFO RS232, Применительно к LPC.
alexander55
сообщение Nov 1 2007, 09:09
Сообщение #1


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Вопросы касаются использования FIFO RS232 в LPC uC без использования прерывания по UARx.
1. Можно ли использовать FIFO без прерывания по UARTx.
2. Будет ли работать FIFO без защелки на прерывание.
3. Возможные подводные камни.
PS. Есть еще вопросы, но о них после ответов на эти три.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Nov 1 2007, 09:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(alexander55 @ Nov 1 2007, 12:09) *
Вопросы

Да. Да. Никаих недокументированных нет, ибо это 550 классическое совместимое решение.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 1 2007, 09:58
Сообщение #3


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(zltigo @ Nov 1 2007, 12:48) *
Да. Да. Никаих недокументированных нет, ибо это 550 классическое совместимое решение.

Очень хорошо. smile.gif
Как я понимаю.
Используя регистр UxFCR (регистр управления буфером FIFO):
- разрешаю его использование;
- не устанавливаю или устанавливаю триггер-защелку, скажем, на 14 байт.
Прием. С некоторой периодичностью (с такой, чтобы он не переполнился по определению) снимаю с него всю принятую информацию .
Передача. Пишу в FIFO столько, сколько он может вместить с последующими добавлениями по мере освобождения буфера.
Правильно или что-то не так ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 1 2007, 11:14
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(alexander55 @ Nov 1 2007, 12:58) *
с последующими добавлениями по мере освобождения буфера.
Правильно или что-то не так ?
Все правильно кроме "по мере освобождения буфера". Нету там флага "есть место в FIFO" или "FIFO полон". Есть флаг "FIFO пуст". Т.е. либо ждать пока опустошится и заталкивать туда порцию до 16 байт, или заводить счетчик засунутых байт и сбрасывать его по флагу "FIFO пуст", а пока не досчитал до 16 засовывать данные по мере поступления.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


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


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