Предыдущая Следующая

Битовая структура регистра U0RBR приведена в Табл. 10.3.

Таблица 10.3. Биты регистра приемного буфера UARTO (U0RBR — OxEOOOCOOO, когда DLAB = 0, доступен только для чтения)

U0RBR

Функция

Описание

Значение после сброса

7:0

Регистр буфера приема

Регистр буфера приема UART0 содержит самый «старый» байт, принятый в приемный буфер FIFO UARTO

Неопределенное

Регистр буфера передачи UARTO (U0THR — OxEOOOCOOO, когда DLAB = О, доступен только для записи)

Регистр U0THR используется как старший байт передающего буфера FIFO UARTO. Старший байт передающего буфера FIFO содержит самый «новый» (последний поступивший в передающий буфер FIFO) символ и может быть записан через шинный интерфейс. Младший бит регистра передается через UART0 первым.

Чтобы обратиться к регистру U0THR, необходимо сбросить бит доступа к значению делителя (DLAB) в регистре U0LCR. Регистр U0THR доступен только для записи.

Битовая структура регистра U0THR приведена в Табл. 10.4.

Таблица 10.4. Биты регистра передающего буфера UARTO (U0THR — OxEOOOCOOO, когда DLAB = 0, доступен только для записи)

U0THR

Функция

Описание

Значение после сброса

7:0

Регистр

буфера

передачи

Запись в регистр буфера передачи UART0 вызывает сохранение записанного байта в передающем буфере FIFO UARTO. Байт будет передан через UART0, когда он достигнет «дна» передающего буфера FIFO (т. е. окажется первым в очереди на передачу) и когда передатчик станет доступен (свободен)

NA

Регистр, содержащий LSB делителя UARTO (U0DLL — OxEOOOCOOO, когда DLAB = 1) Регистр, содержащий MSB делителя UARTO (U0DLM — 0хЕ0О0СО04, когда DLAB =1)

Программируемый 16-битный делитель UART0 входит в состав встроенного генератора задания скорости обмена через UART0. В регистрах U0DLL (младшие 8 битов) и U0DLM (старшие 8 битов) содержится значение коэффициента, на который следует делить тактовую частоту VPB (pclk), чтобы в результате получить на выходе UART0 синхросигнал, частота которого ровно в 16 раз превышает требуемую скорость обмена с периферийными устройствами. Значение коэффициента деления, равное 0000h, воспринимается логикой UART0 как значение 000 lh, чтобы недопустить деления на нуль. Для обращения к регистрам U0DLL и U0DLM, следует установить в регистре U0LCR бит доступа к значению делителя (DLAB).

Битовая структура регистра U0DLL приведена в Табл. 10.5, a U0DLM — в Табл. 10.6.

Таблица 10.5. Регистр, содержащий LSB делителя UARTO (U0DLL — OxEOOOCOOO, когда DLAB = 1)

TJODLL

Функция

Описание

Значение после сброса

7:0

Регистр, содержащий LSB делителя

Регистр, содержащий младший байт делителя, совместно с регистром U0DLM задает скорость обмена через UART0

0x01

Таблица 10.6. Регистр, содержащий MSB делителя UARTO (U0DLM — 0хЕ000С004, когда DLAB = 1)

U0DLM

Функция

Описание

Значение после сброса

7:0

Регистр, содержащий MSB делителя

Регистр, содержащий старший байт делителя, совместно с регистром U0DLL задает скорость обмена через UART0

0

Регистр разрешения прерываний UARTO (U0IER — 0хЕ000С004 когда DLAB = 0)


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_125.html on line 274

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_125.html on line 274

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_125.html on line 274