Status - регистр статуса usart 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Status - регистр статуса usart



Бит                  
+0x01
RXCIF TXCIF DREIF FERR BUFOVF PERR - RXB8
STATUS
Чтение/запись Чт. Чт/Зап Чт. Чт. Чт. Чт. Чт. Чт/Зап
Нач значение                

· Бит 7 - RXCIF: флаг прерывания по завершению приема

Данный флаг становится равным единице, когда в приемном буфере имеются несчитанные данные, и нулю, если приемный буфер пуст (т.е. не содержит каких-либо несчитанных данных). После отключения приемника, приемный буфер опустошается, а флаг RXCIF становится равным нулю.

При управлении приемом данных по прерываниям, сброс флага RXCIF происходит при выполнении чтения принятых данных из регистра DATA в процедуре обработки прерывания по завершению приема. Если этого не сделать, сразу после выхода из текущего прерывания будет инициировано новое прерывание. Альтернативно, данный флаг можно сбросить записью в него единицы.

· Бит 6 - TXCIF: флаг прерывания по завершению передачи

Данный флаг становится равным единице по завершению сдвига данных сдвиговым регистром передатчика при условии, что в буфере передатчика (DATA) нет новых данных для передачи. Флаг TXCIF автоматически сбрасывается при переходе на вектор прерывания по завершению передачи. Альтернативно, флаг можно сбросить записью в него единицы.

· Бит 5 - DREIF: флаг прерывания по опустошению буфера данных

Флаг DREIF сигнализирует о готовности буфера передатчика (DATA) к записи новых данных. Флаг равен единице, когда буфер передачи пуст, и нулю, когда в буфере есть подлежащие передаче данные и они еще не были перемещены в сдвиговый регистр. Данный флаг становится равным единице после сброса МК, чтобы сигнализировать о готовности передатчика. Выполняя запись в регистр STATUS, всегда записывайте нуль в данный бит.

Флаг DREIF сбрасывается при записи в регистр DATA. При управлении передачей данных по прерываниям, в процедуре обработки прерывания по опустошению буфера данных необходимо, либо записать новые данные в регистр DATA для сброса флага DREIF, либо отключить прерывание по опустошению буфера. Если этого не сделать, сразу после выхода из текущего прерывания будет инициировано новое прерывание.

· Бит 4 - FERR: флаг ошибки в посылке

Флаг FERR указывает на состояние первого стоп-бита той посылки, которая в данный момент может быть считана из приемного буфера. Флаг равен единице, если первый стоп-бит принят с нулевым (ошибочным) значением, и равен нулю, если принятый первый стоп-бит равен единице. Флаг остается действительным до момента чтения данных из приемного буфера (DATA). Флаг FERR никак не зависит от настройки бита SBMODE в регистре CTRLC, т.к. приемник игнорирует все стоп-биты, кроме первого. Выполняя запись в регистр STATUS, всегда записывайте нуль в данный бит.

В ведущем режиме SPI данный флаг не используется.

· Бит 3 - BUFOVF: флаг переполнения буфера

Установка флага BUFOVF сигнализирует о потери данных вследствие заполнения буфера приемника. Установка данного флага происходит при обнаружении условия переполнения буфера. Такое условие возникает, когда буфер приемника заполнен (двумя символами данных), в сдвиговом регистре приемника ожидает чтения новый символ данных и обнаруживается новый старт-бит. Флаг остается действительным до выполнения чтения буфера приемника (DATA). При выполнении записи в регистр STATUS всегда записывайте нуль в данный бит.

В ведущем режиме SPI данный флаг не используется.

· Бит 2 - PERR: ошибка паритета

Данный флаг принимает единичное значение, если разрешена проверка паритета и при приеме посылки, которая в данный момент может быть считана из приемного буфера, обнаружена ошибка паритета. Если проверка паритета отключена, флаг PERR будет всегда считываться с нулевым значением. Данный бит остается действительным до выполнения чтения буфера приемника (DATA). Выполняя запись в регистр STATUS, всегда записывайте нуль в данный бит. Более детально о вычислении паритета см. в 21.4.1 "Вычисление бита паритета".

В режиме ведущего SPI данный флаг не используется.

· Бит 1 - Res: резервный бит

Данный бит является резервным и всегда считывается с нулевым значением. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.

· Бит 0 - RXB8: Принятый бит 8

В бите RXB8 хранится значение девятого принятого бита данных при работе с 9-битными данными. Чтение данного бита необходимо выполнить перед чтением младших бит данных из регистра DATA.

В режиме ведущего SPI данный бит не используется.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 305; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.159.116 (0.007 с.)