Битовая структура регистра 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)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |