• 16-байтовые приемный и передающий буфера FIFO;
• размещение регистров соответствует промышленному стандарту '550;
• приемный буфер FIFO «защелкивает» 1,4, 8 и 14 байт;
• встроенный генератор задания скорости обмена с периферийными устройствами.
Обслуживающие UARTO выводы микроконтроллера перечислены в Табл. 10.1.
Таблица 10.1. Описание выводов UART0
Название вьтода |
Тип |
Описание |
RxDO |
I |
Последовательный вход. Принимает последовательные данные |
TxDO |
О |
Последовательный выход. Передает последовательные данные |
10.1. Описание регистров UART0
Логическая схема обслуживания UARTO состоит из десяти 8-битных регистров, перечисленных в Табл. 10.2. Старший бит регистра U1LCR представляет собой служебный бит доступа к значению делителя (DLAB) и используется для разрешения или запрещения доступа к регистрам, в которых хранится значение коэффициента деления программируемого делителя UART0 (подробнее об этом см. далее в этой главе).
Регистр буфера приема UARTO
(U0RBR — OxEOOOOOOO, когда DLAB = О, доступен только для чтения)
Регистр U0RBR используется как старший байт приемного буфера FIFO UARTO. Старший байт приемного буфера FIFO содержит самый «старый» (первый поступивший в приёмный буфер FIFO) принятый символ и может быть прочитан через шинный интерфейс. LSB (младший значащий бит — бит 0) U0RBR представляет собой самый «старый» принятый информационный бит. Если принятый символ кодируется менее чем восемью битами, неиспользованные MSB (старшие значащие биты) U0RBR заполняются нулями.
Таблица 10.2. Регистровая карта UARTO
Название |
Описание |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
БитЗ |
Бит 2 |
Бит 1 |
БитО |
Доступ |
Знач. после сброса1* |
Адрес |
U0RBR |
Регистр буфера приема |
(MSB) |
Данные чтения |
(LSB) |
RO |
Неопределенное |
OxEOOOCOOO DLAB = 0 |
|||||
U0THR |
Регистр буфера, (холдинга) пере-1, дачи |
(MSB) |
Данные записи |
(LSB) |
WO |
NA |
OxEOOOCOOO DLAB = 0 |
|||||
U0IER |
Регистр разрешения прерываний |
0 |
0 |
0 |
0 |
0 |
Разрешение прерывания по состоянию линии Rx |
Разрешение прерывания THRE |
Разрешение прерывания при доступе к принятым данным |
R/W |
0 |
0xE000C004 DLAB = 0 |
U0I1R |
Регистр идентификации прерывания |
Разрешение буферов FIFO |
0 |
0 |
IIR3 |
IIR2 |
IIR1 |
IIR0. |
RO |
0x01 |
0xE000C008 |
|
U0FCR |
Регистр управления буфером FIFO |
Триггер (защелка) Rx |
Зарезервировано |
Сброс передающего буфера FIFO |
Сброс приемного буфера FIFO |
Разрешение FIFO |
WO |
0 |
0xE000C008 |
|||
U0LCR |
Регистр управления линией |
DLAB |
Установка стопового бита |
Бит четности |
Выбор типа четности |
Разрешение четности |
Количество стоповых битов |
Выбор длины слова |
R/W |
0 |
0xE000C00C |
|
U0LSR |
Регистр состояния линии |
Ошибка приемного буфера FIFO |
ТЕМТ |
THRE |
BI |
FE |
РЕ |
ОЕ |
DR |
RO |
0x60 |
0xE000C014 |
U0SCR |
Рабочий регистр клавиатуры |
(MSB) |
(LSB) |
R/W |
0 |
OxEOOOCOlC |
||||||
U0DLL |
Регистр, содержащий младший байт коэффициента деления |
(MSB) |
(LSB) |
R/W |
0x01 |
OxEOOOCOOO DLAB = 1 |
||||||
U0DLM |
Регистр, содержащий старший байт коэффициента деления |
(MSB) |
(LSB) |
R/W |
0 |
0xE000C004 DLAB = 1 |
||||||
" Значение относится к данным, содержащимся только в используемых битах, и не включает содержимое зарезервированных битов. |
Чтобы обратиться к регистру U0RBR, необходимо сбросить бит доступа к значению делителя (DLAB) в регистре U0LCR. Регистр U0RBR доступен только для чтения.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |