Регистр U1IER используется, чтобы разрешать прерывания от четырех источников UART1.
Битовая структура регистра U1IER приведена в Табл. 11.7.
Таблица И. 7. Регистр разрешения прерываний UART1 (TJ1IER — 0хЕ0010004, когда DLAB = 0)
U1IER |
Функция |
Описание |
Значение после сброса |
0 |
Разрешение прерывания RBR |
0: Запретить прерывание RDA. 1: Разрешить прерыванию RDA. Бит U1IER[0] разрешает прерывание при доступности принятых данных RDA (Receive Data Available) для UART1. Он также управляет прерыванием от тайм-аута при приеме символа CRT (Character Receive Time-out) |
0 |
1 |
Разрешение прерывания THRE |
0: Запретить прерывание THRE. 1: Разрешить прерыванию THRE. Бит U 1IER[1] разрешает прерывание THRE для UART1. Текущее состояние этого прерывания отображается в значении бита U1LSR[5] |
0 |
2 |
Разрешение прерывания по состоянию линии Rx |
0: Запретить прерывания по состоянию линии Rx. 1: разрешить прерывания по состоянию линии Rx. Бит U1IER[2] разрешает прерывания по состоянию линии Rx UART1. Текущее состояние этих прерываний отображается в значении битов U1LSR [4:1] |
0 |
3 |
Разрешение прерывания по состоянию модема |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
0 |
7:4 |
Зарезервированы |
0: Запретить прерывание RDA. 1: Разрешить прерыванию RDA. Бит U1IER[0] разрешает прерывание при доступности принятых данных RDA (Receive Data Available) для UART1. Он также управляет прерыванием от тайм-аута при приеме символа CRT (Character Receive Time-out) |
NA |
Регистр идентификации прерывания UART1 (U1IIR — OxEOOl0008, доступен только для чтения)
Регистр U1IIR содержит код текущего состояния, который отображает приоритет и источник отложенного прерывания. Во время осуществления доступа к регистру U1IIR его содержимое не меняется. Если прерывание происходит во время доступа к U1IIR, то состояние этого прерывания будет отображено при
следующем доступе к U1IIR. Прерывания обрабатываются так, как это описано в Табл. 11.8. Считывая значения битов U1IIR[3:0], подпрограмма обработки прерывания может определить причину прерывания и способ сброса активного прерывания. Аппаратный сброс прерывания производится, только если оно идентифицируется как прерывание типа THRE.
Таблица 11.8. Регистр идентификации прерываний UART1 (TJ1IIR — 0хЕ0010008, доступен только для чтения)
ШИК |
Функция |
Описание |
Значение после сброса |
0 |
Отложенное прерывание |
0: Как минимум, одно прерывание является отложенным. 1: Нет отложенных прерываний. Обратите внимание, что бит U1IIR[0] имеет НИЗКИЙ активный уровень. Отложенное прерывание может быть идентифицировано путем анализа битов U1IER[3:1] |
1 |
3:1 |
Идентификация прерывания |
011: Состояние линии приема (RLS). 010: Доступны принятые данные (RDA). ПО: Тайм-аут индикации принятого символа (CTI). 001: Прерывание THRE. Бит U1IER[3] идентифицирует прерывание от приемного буфера FIFO UART1. Все другие комбинации битов U1IER[3:1], кроме вышеуказанных, являются зарезервированными (000, 100,101,111) |
0 |
5:4 |
Зарезервированы |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
7:6 |
Разрешение FIFO |
Эти биты эквивалентны биту U1FCR[0] |
0 |
Обработка прерываний иллюстрируется в Табл. 11.9.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |