Предыдущая Следующая

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 ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz