THRE-прерывание UART1 (U1IIR[3:1] = 001) имеет третий уровень приоритета и активизируется, когда передающий буфер FIFO UART1 пуст при выполнении некоторых условий инициализации. Эти условия инициализации предназначены для того, чтобы дать передающему буферу FIFO UART1 возможность заполняться данными и не генерировать прерывания THRE при системном запуске после включения питания. Условия инициализации заключаются в осуществлении одной символьной задержки минус столовый бит всякий раз, когда THRE = 1 и с момента его установки поступило не менее двух символов в регистр U1THR. Эта задержка рассчитана на то, чтобы дать процессору
время для записи данных в регистр U1THR без возникновения необходимости декодировать и обслуживать прерывание THRE. Прерывание THRE устанавливается немедленно, если в передающем буфере FIFO UART1 находятся два или более символа и регистр U1THR пуст. Прерывание THRE сбрасывается, когда производится запись в U1THR или чтение U1IIR. Прерывание THRE является прерыванием с низким приоритетом (U1IIR(3:1] = 001).
Модемное прерывание (U1IIR[3:1] = ООО) имеет самый низкий уровень приоритета и активизируется, когда происходит любое изменение на входах модема, DCD, DSR или CTS. Кроме того, перепад от НИЗКОГО к ВЫСОКОМУ уровню на модемном вводе RI также вызывает модемное прерывание. Источник модемного прерывания может быть определен путем анализа содержимого битов U1MSR[3:0]. Чтение регистра U1MSR сбросит модемное прерывание.
Регистр управления буфером FIFO UART1 (U1FCR — ОхЕО010008)
Регистр U1FCR управляет операциями, связанными с приемным и передающим буферами FIFO UART1.
Битовая структура регистра U1FCR приведена в Табл. 11.10.
Таблица 11.10. Биты регистра управления буфером FIFO UART1 (UlFCR-0xE0010008)
U1FCR |
Функция |
Описание |
Значение после сброса |
0 |
Разрешение буфера FIFO |
Активный ВЫСОКИЙ уровень разрешает приемный и передающий буфера FIFO UART1 с доступом, заданным битами U1FCR[7:1]. Этот бит должен быть установлен для корректного проведения операций UART 1. Любое изменение этого бита приведет к автоматическому сбросу содержимого приемного и передающего буферов FIFO UART1 |
0 |
1 |
Сброс приемного буфера FIFO |
Запись логической 1 в бит U1 FCR[ 1 ] очистит все байты в приемном буфере FIFO UART1 и сбросит логическую схему указателя, после чего производится автоматический аппаратный сброс самого этого бита. |
0 |
2 |
Сброс передающего буфера FIFO |
Запись логической 1 в бит U1FCR[2] очистит вре байты в передающем буфере FIFO UART1 и сбросит логическую схему указателя, после чего производится автоматический аппаратный сброс самого этого бита. |
0 |
5:3 |
Зарезервированы |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
7:6 |
Выбор уровня триггера (зашел- . ки) приемного буфера FIFO |
00: уровень триггера 0 (по умолчанию 1 символ или 0x01). 01: уровень триггера 1 (по умолчанию 4 символа или 0x04). 10: уровень триггера 2 (по умолчанию 8 символов или 0x08). 11: уровень триггера 3 (по умолчанию 14 символов или ОхОЕ). Эти два бита определяют, сколько символов будет записано в приемный буфер FIFO UART1 прежде, чем будет активизировано прерывание. Пользователь может задать один из четырех уровней срабатывания триггера, чтобы настроить приемный буфер FIFO UART1 для обмена с конкретным внешним устройством |
0 |
Регистр управления линией UART1 (U1LCR — ОхЕООЮООО)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |