Регистр U1LSR доступный только для чтения, содержит информацию о состоянии принимаемых и передаваемых через UART1 блоков данных. Битовая структура регистра U1LSR приведена в Табл. 11.13.
Таблица 11.13. Биты регистра состояния линии UART1 (U1LSR — 0хЕ0010014, доступен только для чтения)
U1LCR |
Функция |
Описание |
Значение после сброса |
0 |
Данные приемника готовы (RDR) |
0: U1RBR пуст. 1: U1RBR содержит достоверные данные. Бит U1 LSR[0] устанавливается, когда UIRBR содержит непрочитанный символ и сбрасывается, когда приемный буфер FIFO UART1 пуст |
0 |
1 |
Ошибка переполнения (ОЕ) |
0: Состояние ошибки переполнения неактивно. 1: Состояние ошибки переполнения активно. Состояние ошибки переполнения устанавливается, как только происходит переполнение. Чтение регистра U1LSR сбрасывает бит U1LSR[1]. Бит U1LSR[1] устанавливается, когда в приемник U1RSR UART1 поступил новый символ, а приемный буфер FIFO U1RBR UART1 полон. В этом случае в приемный буфер FIFO U1RBR UART1 не будет записан новый символ поверх старых и поступивший в приемник U1RSR новый символ будет потерян |
0 |
Таблица 11.13. Биты регистра состояния линии UART1 (U1LSR — 0хЕ0010014, доступен только для чтения) (продолжение)
U1LCR |
Функция |
Описание |
Значение после сброса |
2 |
Ошибка четности (РЕ) |
0: Состояние ошибки четности неактивно. 1: Состояние ошибки четности активно. Когда бит четности полученного символа находится в неправильном состоянии, происходит ошибка четности. Чтение регистра U1LSR сбрасывает бит U1LSR[2]. Время обнаружения ошибки четности зависит от состояния бита U1FCR[0]. Ошибка четности связана с символом, читаемым из приемного буфера FIFO U1RBR UART1 |
0 |
3 |
Ошибка кадровой синхронизации (FE) |
0: Состояние ошибки кадровой синхронизации неактивно. 1: Состояние ошибки кадровой синхронизации активно. Когда значение стопового бита полученного символа равно логическому 0, происходит ошибка кадровой синхронизации. Чтение регистра U1LSR сбрасывает бит U1LSR[3J. Время обнаружения ошибки кадровой синхронизации зависит от состояния бита UlFCRfO]. Ошибка кадровой синхронизации связана с символом, читаемым из приемного буфера FIFO U1RBR UART1. После обнаружения ошибки кадровой синхронизации линия Rx будет пытаться повторно синхронизировать данные и логика UART1 предположит, что «дефектный» стоповый бит является фактически стартовым битом. Однако при этом не может быть гарантировано, что следующий принятый байт будет корректен, даже если нет ошибки кадровой синхронизации |
0 |
4 |
Прерывание от останова (BI) |
0: Состояние прерывания от останова неактивно. 1: Состояние прерывания от останова активно. Когда линия RxDO переводится в состояние наличия данных (НИЗКИЙ уровень на линии) для передачи всей последовательности символа (старт, данные, четность, стоп), происходит прерывание от останова. Как только состояние останова обнаруживается, приемник переводит линию RxDO в состояние маркировки (ВЫСОКИЙ уровень на линии). Чтение регистра U1LSR сбрасывает этот бит состояния. Время обнаружения останова зависит от значения бита U1FCR[0]. Прерывание от останова связано с символом, читаемым из приемного буфера FIFO U1RBR UART1 |
0 |
5 |
Буфер (холдинг) передатчика пуст (THRE) |
0: U1THR содержит достоверные данные. 1: U1THR пуст. Бит THRE устанавливается немедленно после обнаружения пустого регистра U1THR UART1 и сбрасывается при записи bUITHR |
1 |
6 |
Передатчик пуст (ТЕМТ) |
0: U1THR и/или U1TSR содержит достоверные данные. 1: UITHRh UlTSRnycTbi. Бит ТЕМТ устанавливается, когда и регистры U1THR и UlTSRnycTbi. Бит ТЕМТ сбрасывается, когда любой из регистров U1TSR или U1THR содержит достоверные данные |
1 |
7 |
Ошибка приемного буфера FIFO (RXFE) |
0: U1RBR не содержит символов с ошибками приема через UART1 или бит U1FCR[0]=0. 1: UART1 U1RBR содержит символ с не менее чем одной ошибкой приема через UART1. Бит U1LSR[7] устанавливается, когда символ с ошибкой приема (в виде ошибки кадровой синхронизации, ошибки четности или прерывания от останова) помещается в регистр U1RBR. Этот бит сбрасывается, когда регистр U1LSR читается, и нет никаких последующих ошибок в FIFO UART1 |
0 |
Регистр состояния модема UART1 (U1MSR — 0х0хЕ0010018)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |