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

 
 
> SC16C554, "Расширитель" Уартов. Помогите отладить..!
Dist
сообщение May 13 2008, 06:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 18-04-07
Из: г.Чебоксары
Пользователь №: 27 145



При работе с данным чипом возникли вопросы.
1) Какие из регистров контроллера SC16C554BIBM являются общими для всех уартов (то есть не зависят от того какой CS выбран), а какие имеются для каждого уарта (значение регистра зависит от выбора CS)
2) При посылке более 16 байт данных (16 байт - пороговое значение) только первые 16 байт получаем. В следующем эксперименте мы используем только один uart. Инициализируем регистры следующими значениями:
ier=5, isr=c1, lcr=3, mcr=8, lsr=60, msr=0, sr=ff
При получении первого байта процессор прерывается сигналом RXRDY (ISR=0xC4). Потом читаются первые 16 байт пока LSR.0==1. После чего происходит новое прерывание (ISR=0xC1), а затем ещё одно (ISR=0xC6 and LSR=0xF9). В результате больше не происходят прерываний и, как следствие, не можем читать данные. То, что было передано после 16 байт просто теряется.
Почему больше не происходит прерываний? Как правильно инициализировать регистры или обрабатывать прерывание?
DMA не используем.

П.С. Как обычно, времени нет, разработка горит smile.gif

Сообщение отредактировал Dist - May 13 2008, 06:18
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:41
Рейтинг@Mail.ru


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