Регистр U0LCR определяет формат символов данных, который должен быть передан или получен через UART0.
Битовая структура регистра U0LCR приведена в Табл. 10.11.
Таблица 10.11. Регистр управления линией UARTO (U0LCR — ОхЕОООСООС)
U0LCR |
Функция |
Описание |
Значение после сброса |
1:0 |
Выбор длины слова (символа) |
00: Длина символа — 5 битов 01: Длина символа — 6 битов 10: Длина символа — 7 битов 11: Длина символа — 8 битов |
0 |
2 |
Выбор количества стоповых битов |
0:1 столовый бит 1: 2 стоповых бита (1.5, если U0LCR [1:0] = 00) |
0 |
3 |
Разрешение контроля четности |
0: Отключение генерации контроля четности и его проверки. 1: Разрешение генерации контроля четности и его проверки |
0 |
5:4 |
Выбор режима контроля четности |
00: Проверка на нечетность 01:, Проверка на четность' 10: Устанавливается логическая 1 в бите четности. 11: Устанавливается логический 0 в бите четности |
0 |
6 |
Контроль останова |
0: Запретить передачу останова. 1: Разрешить передачу останова. Вывод UARTO TxD сбрасывается в логический 0, когда бит U0LCR[6] имеет активный ВЫСОКИЙ уровень |
0 |
7 |
Бит доступа к значению делителя |
0: Запретить доступ к значению коэффициента деления делителя. 1: Разрешить доступ к значению коэффициента деления делителя |
0 |
Регистр состояния линии UARTO
(UOLSR — 0хЕ000С014, доступен только для чтения)
Регистр U0LSR, доступный только для чтения, содержит информацию о состоянии принимаемых и передаваемых через UART0 блоков данных. Битовая структура регистра U0LSR приведена в Табл. 10.12.
Таблица 10.12. Биты регистра состояния линии UARTO (UOLSR — 0хЕ000С014, доступен только для чтения)
U0LCR |
Функция |
1 Описание |
Значение после сброса |
0 |
Данные приемника готовы (RDR) |
0: U0RBR пуст. 1: U0RBR содержит достоверные данные. Бит U0LSR[0] устанавливается, когда U0RBR содержит непрочитанный символ и сбрасывается, когда приемный буфер FIFO UARTO пуст |
0 |
1 |
Ошибка переполнения (ОЕ) |
0: Состояние ошибки переполнения неактивно. 1: Состояние ошибки переполнения активно. Состояние ошибки переполнения устанавливается, как только происходит переполнение. Чтение регистра U0LSR сбрасывает бит U0LSR[1]. Бит U0LSR[1] устанавливается, когда в приемник UORSR UART0 поступил новый символ, а приемный буфер FIFO UORBR UARTO полон. В этом случае в приемный буфер FIFO UORBR UARTO не будет записан новый символ поверх старых и поступивший в приемник U0RSR новый символ будет потерян |
0 |
2 |
Ошибка четности (РЕ) |
0: Состояние ошибки четности неактивно. 1: Состояние ошибки четности активно. Когда бит четности полученного символа находится в неправильном состоянии, происходит ошибка четности. Чтение регистра U0LSR сбрасывает бит U0LSR[2]. Время обнаружения ошибки четности зависит от состояния бита U0FCR[0J. Ошибка четности связана с символом, читаемым из приемного буфера FIFO UORBR UARTO |
0 |
3 |
Ошибка кадровой синхронизации (FE) |
0: Состояние ошибки кадровой синхронизации неактивно. 1: Состояние ошибки кадровой синхронизации активно. Когда значение стопового бита полученного символа равно логическому 0, происходит ошибка кадровой синхронизации. Чтение регистра U0LSR сбрасывает бит U0LSR[3]. Время обнаружения ошибки кадровой синхронизации зависит от состояния бита U0FCR[0]. Ошибка кадровой синхронизации связана с символом, читаемым из приемного буфера FIFO UORBR UARTO. После обнаружения ошибки кадровой синхронизации линия Rx будет пытаться повторно синхронизировать данные и логика UART0 предположит, что «дефектный» столовый бит является фактически стартовым битом. Однако при этом не может быть гарантировано, что следующий принятый байт будет корректен, даже если нет ошибки кадровой синхронизации |
0 |
4 |
Прерывание от останова (BI) |
0: Состояние прерывания от останова неактивно. I: Состояние прерывания от останова активно. Когда линия RxDO переводится в состояние наличия данных (НИЗКИЙ уровень на линии) для передачи всей последовательности символа (старт, данные, четность, стоп), происходит прерывание от останова. Как только состояние останова обнаруживается, приемник переводит линию RxDO в состояние маркировки (ВЫСОКИЙ уровень на линии). Чтение регистра U0LSR сбрасывает этот бит состояния. Время обнаружения останова зависит от значения бита U0FCR[0]. Прерывание от останова связано с символом, читаемым из приемного буфера FIFO UORBR UARTO |
0 |
Таблица 10.12. Биты регистра состояния линии UARTO (UOLSR — ОхЕОООСОЫ, доступен только для чтения) (продолжение)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |