Таблица 11.3. Биты регистра приемного буфера UART1 (U1RBR — ОхЕООЮООО, когда DLAB = 0, доступен только для чтения)
U1RBR |
Функция |
Описание |
Значение после сброса |
7:0 |
Регистр буфера приема |
Регистр буфера приема UART1 содержит самый «старый» байт, принятый в приемный буфер FIFO UART1 |
Неопределенное |
Регистр буфера передачи UART1 (U1THR — ОхЕООЮООО, когда DLAB = О, доступен только для записи)
Регистр U1THR используется как старший байт передающего буфера FIFO UART1. Старший байт передающего буфера FIFO содержит самый «новый» (последний поступивший в передающий буфер FIFO) символ и может быть записан через шинный интерфейс. Младший бит регистра передается через UART1 первым.
Чтобы обратиться к регистру U1THR, необходимо сбросить бит доступа к значению делителя (DLAB) в регистре U1LCR. Регистр U1THR доступен только для записи.
Битовая структура регистра U1THR приведена в Табл. 11.4.
Таблица 11.4. Биты регистра передающего буфера UART1 (U1THR — ОхЕООЮООО, когда DLAB = 0, доступен только для записи)
U1THR |
Функция |
Описание |
Значение после сброса |
7:0 |
Регистр буфера передачи |
Запись в регистр буфера передачи UART1 вызывает сохранение записанного байта в передающем буфере FIFO UART1. Байт будет передан через UART1, когда он достигнет «дна» передающего буфера FIFO (т. е. окажется первым в очереди на передачу) и когда передатчик станет доступен (свободен) |
NA |
Регистры, содержащие младший и старший байты делителя UART1 (U1DLL - ОхЕООЮООО, U1DLM - 0хЕ00Ю004, когда DLAB = 1)
Программируемый 16-битный делитель UART1 входит в состав встроенного генератора задания скорости обмена через UART1. В регистрах U1DLL (младшие 8 битов) и U1DLM (старшие 8 битов) содержится значение коэффициента, на который следует делить тактовую частоту VPB (pclk), чтобы в результате получить на выходе UAJHT синхросигнал, частота которого ровно в 16 раз превышает требуемую скорость обмена с периферийными устройствами. Значение коэффициента деления, равное OOOOh, воспринимается логикой UART1 как значение OOOlh, чтобы не допустить деления на нуль. Для обращения к регистрам U1 DLL и U1DLM, следует установить в регистре U1LCR бит доступа к значению делителя (DLAB).
Битовая структура регистра U1DLL приведена в Табл. 11.5, a U1DLM — в Табл. 11.6.
Таблица 11.5. Регистр, содержащий младший байт делителя UART1 (U1DLL - ОхЕООЮООО, когда DLAB = 1)
U1DLL |
Функция |
Описание |
Значение после сброса |
7:0 |
Регистр, содержащий младший байт делителя |
Регистр, содержащий младший байт делителя, совместно с регистром U1DLM задает скорость обмена через UART1 |
0x01 |
Таблица 11.6. Регистр, содержащий старший байт делителя TJART1 (U1DLM - 0хЕ0010004, когда DLAB = 1) |
|||
U1DLM |
Функция |
Описание |
Значение после сброса |
7:0 |
Регистр, содержащий старший байт делителя |
Регистр, содержащий старший байт делителя, совместно с регистром U1DLL задает скорость обмена через UART1 |
0 |
Регистр разрешения прерываний UART1 (U1IER — OxEOOl0004, когда DLAB = О)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |