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

Регистр U0IER используется, чтобы разрешать прерывания от четырех источников UART0.

Битовая структура регистра U0IER приведена в Табл. 10.7.

Таблица 10.7. Регистр разрешения прерываний UARTO (U0IER — 0хЕ000С004, когда DLAB = 0)

U0IER

Функция

Описание

Значение после сброса

0

Разрешение прерывания RBR

0: Запретить прерывание RDA.

1: Разрешить прерыванию RDA.

Бит U0IER[0] разрешает прерывание при доступности

принятых данных RDA (Receive Data Available) для

UARTO. Он также управляет прерыванием от тайм-аута

при приеме символа CRT (Character Receive Time-out)

0

1

Разрешение прерывания THRE

0: Запретить прерывание THRE. 1: Разрешить прерыванию THRE. Бит U0IER[ 1 ] разрешает прерывание THRE для UART0. Текущее состояние этого прерывания отображается в значении бита U0LSR[5]

0

2

Разрешение прерывания по состоянию линии Rx

0: Запретить прерывания по состоянию линии Rx. 1: разрешить прерывания по состоянию линии Rx. Бит U0IER[2] разрешает прерывания по состоянию линии Rx UARTO. Текущее состояние этих прерываний отображается в значении битов U0LSR [4:1]

0

7:3

Зарезервированы

Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение

NA

Регистр идентификации прерывания UARTO (UOIIR — ОхЕОООСООа, доступен только для чтения)

Регистр U0IIR содержит код текущего состояния, который отображает приоритет и источник отложенного прерывания. Во время осуществления доступа к регистру U0IIR его содержимое не меняется. Если прерывание происходит во время доступа к U0IIR, то состояние этого прерывания будет отображено при следующем доступе к U0IIR. Прерывания обрабатываются так, как это описано в Табл. 10.8. Считывая значения битов U0IIR[3:0], подпрограмма обработки прерывания может определить причину прерывания и способ сброса активного прерывания. Аппаратный сброс прерывания производится, только если оно идентифицируется как прерывание типа THRE.

Таблица 10.8. Регистр идентификации прерываний UARTO (UOIIR — 0хЕ000С008, доступен только для чтения)

U0IIR

Функция

Описание

Значение после сброса

0

Отложенное прерывание

0: Как минимум, одно прерывание является отложенным. 1: Нет отложенных прерываний.

Обратите внимание, что бит U0IIR[0] имеет НИЗКИЙ активный уровень. Отложенное прерывание может быть идентифицировано путем анализа битов U0IER[3:1]

1

3:1

Идентификация прерывания

011: Состояние линии приема (RLS).

010: Доступны принятые данные (RDA).

110: Тайм-аут индикации принятого символа (CTI).

001: Прерывание THRE.

Бит U0IER[3J идентифицирует прерывание от приемного буфера FIFO UARTO. Все другие комбинации битов U0IER[3:1], кроме вышеуказанных, являются зарезервированными (000, 100,101,111)

0

5:4

Зарезервированы

Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение

NA

7:6

Разрешение FIFO

Эти биты эквивалентны биту U0FCR[0]

0

Обработка прерываний иллюстрируется в Табл. 10.9.


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



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz