Периферийный интерфейс USART, режим UART
13.3 Регистры USART: режим USART
В таблице 13-3 приведен перечень регистров для всех устройств с модулем USART. Таблица 13-4 справедлива только для устройств со вторым USART модулем - USART1.
Таблица 13-3. Регистры управления и статуса USART0
Регистр |
Краткое обозначение |
Тип регистра |
Адрес |
Исходное состояние |
Регистр управления USART |
U0CTL |
Чтение/запись |
070h |
001h после PUC |
Регистр управления передачей |
U0TCTL |
Чтение/запись |
071h |
001h после PUC |
Регистр управления приемом |
U0RCTL |
Чтение/запись |
072h |
000h после PUC |
Регистр управления модуляцией |
U0MCTL |
Чтение/запись |
073h |
Не изменяется |
Регистр 0 управления скоростью передачи |
U0BR0 |
Чтение/запись |
074h |
Не изменяется |
Регистр 1 управления скоростью передачи |
U0BR1 |
Чтение/запись |
075h |
Не изменяется |
Регистр буфера приема |
U0RXBUF |
Чтение |
076h |
Не изменяется |
Регистр буфера передачи |
U0TXBUF |
Чтение/запись |
077h |
Не изменяется |
Регистр 1 включения модуля SFR* |
ME1 |
Чтение/запись |
004h |
000h после PUC |
Регистр 1 разрешения прерывания SFR* |
IE1 |
Чтение/запись |
000h |
000h после PUC |
Регистр 1 флага прерывания SFR* |
IFG1 |
Чтение/запись |
002h |
082h после PUC |
* Не применимо к устройствам `12xx. См. описания регистров для выяснения расположения регистров и бит у этих устройств.
Таблица 13-4. Регистры управления и статуса USART1
Регистр |
Краткое обозначение |
Тип регистра |
Адрес |
Исходное состояние |
Регистр управления USART |
U1CTL |
Чтение/запись |
078h |
001h после PUC |
Регистр управления передачей |
U1TCTL |
Чтение/запись |
079h |
001h после PUC |
Регистр управления приемом |
U1RCTL |
Чтение/запись |
07Ah |
000h после PUC |
Регистр управления модуляцией |
U1MCTL |
Чтение/запись |
07Bh |
Не изменяется |
Регистр 0 управления скоростью передачи |
U1BR0 |
Чтение/запись |
07Ch |
Не изменяется |
Регистр 1 управления скоростью передачи |
U1BR1 |
Чтение/запись |
07Dh |
Не изменяется |
Регистр буфера приема |
U1RXBUF |
Чтение |
07Eh |
Не изменяется |
Регистр буфера передачи |
U1TXBUF |
Чтение/запись |
07Fh |
Не изменяется |
Регистр 2 включения модуля SFR |
ME2 |
Чтение/запись |
005h |
000h после PUC |
Регистр 2 разрешения прерывания SFR |
IE2 |
Чтение/запись |
001h |
000h после PUC |
Регистр 2 флага прерывания SFR |
IFG2 |
Чтение/запись |
003h |
000h после PUC |
Примечание: Изменение битов SFR
Чтобы избежать изменения управляющих битов другими модулями, рекомендуется устанавливать или очищать биты IEx и IFGx с помощью команд BIS.B или BIC.B вместо команд MOV.B или CLR.B.
|
UxCTL, регистр управления USART
PENA |
PEV |
SPB |
CHAR |
LISTEN |
SYNC |
MM |
SWRST |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-1 |
PENA |
Бит 7 |
Включение контроля четности.
0 Контроль четности отключен
1 Контроль четности включен. Бит контроля четности сгенерирован (UTXDx)
и ожидается (URXDx). В многопроцессорном режиме с адресным битом он
учитывается при вычислении четности.
|
PEV |
Бит 6 |
Выбор четности. PEV не используется, когда контроль четности отключен.
0 Нечетный
1 Четный
|
SPB |
Бит 5 |
Выбор стопового бита. Количество передаваемых стоповых битов. Приемник всегда проверяет один стоповый бит.
0 Один стоповый бит
1 Два стоповых бита
|
CHAR |
Бит 4 |
Длина символа. Можно выбрать 7-ми или 8-ми разрядный символ.
0 7-разрядные данные
1 8-разрядные данные
|
LISTEN |
Бит 3 |
Включение прослушивания. Бит LISTEN включает режим обратной петли.
0 Отключен
1 Включен. UTXDx внутренне подключается назад к приемнику.
|
SYNC |
Бит 2 |
Включение синхронного режима
0 Режим UART
1 Режим SPI
|
MM |
Бит 1 |
Выбор многопроцессорного режима
0 Многопроцессорный протокол со свободной линией
1 Многопроцессорный протокол с адресным битом |
SWRST |
Бит 0 |
Разрешение программного сброса
0 Отключен. Сброс USART не задействован
1 Разрешен. Логика USART удерживается в состоянии сброса
|
UxTCTL, регистр управления передачей USART
Не исполь зуется |
CKPL |
SSELx |
URXSE |
TXWAKE |
Не исполь зуется |
TXEPT |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-1 |
Не используется |
Бит 7 |
Не используется. |
CKPL |
Бит 6 |
Выбор полярности тактового сигнала.
0 UCLKI = UCLK
1 UCLKI = инвертированный UCLK
|
SSELx |
Биты 5-4 |
Выбор источника. Эти биты выбирают источник тактирования для BRCLK
00 UCLKI
01 ACLK
10 SMCLK
11 SMCLK
|
URXSE |
Бит 3 |
UART принимает стартовый фронт. Бит включает возможность приема UART`ом стартового фронта.
0 Отключено
1 Включено
|
TXWAKE |
Бит 2 |
«Пробуждение» передатчика
0 Следующий передаваемый фрэйм - данные
1 Следующий передаваемый фрэйм – адрес
|
Не используется |
Бит 1 |
Не используется |
TXEPT |
Бит 0 |
Флаг опустошения передатчика
0 UART передает данные и/или данные ожидают в UxTXBUF
1 Сдвиговый регистр передатчика и UxTXBUF пусты или SWRST=1
|
UxRCTL, регистр управления приемом USART
FE |
PE |
OE |
BRK |
URXEIE |
URXWIE |
RXWAKE |
RXERR |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
FE |
Бит 7 |
Флаг ошибки фрэйма
0 Нет ошибки
1 Символ принят со стоповым битом низкого уровня
|
PE |
Бит 6 |
Флаг ошибки контроля четности. Когда PENA=0, PE читается как 0.
0 Нет ошибки
1 Символ принят с ошибкой четности
|
OE |
Бит 5 |
Флаг ошибки переполнения. Этот бит устанавливается, когда символ перемещен в UxRXBUF до завершения чтения предыдущего символа.
0 Нет ошибки
1 Произошла ошибка переполнения
|
BRK |
Бит 4 |
Флаг обнаружения разрыва
0 Нет состояния разрыва
1 Появилось состояние разрыва
|
URXEIE |
Бит 3 |
Разрешение прерывания при приеме ошибочного символа
0 Ошибочный символ отклоняется, а URXIFGx не устанавливается
1 Принятый ошибочный символ устанавливает URXIFGx
|
URXWIE |
Бит 2 |
Запуск приема с разрешением прерывания. Этот бит разрешает URXIFGx быть установленным, когда принят адресный символ. Если URXEIE=0, символ адреса не будет устанавливать URXIFGx, если он принят с ошибками.
0 Все принятые символы устанавливают URXIFGx
1 Только принятые адресные символы устанавливают URXIFGx
|
RXWAKE |
Бит 1 |
Флаг «пробуждения» при приеме
0 Принятый символ - данные
1 Принятый символ – адрес
|
RXERR |
Бит 0 |
Флаг ошибки приема. Этот бит показывает, что символ был принят с ошибкой (ошибками). Если RXERR=1, один или более флагов ошибок (FE, PE, OE, BRK) также устанавливаются. RXERR очищается, когда UxRXBUF прочитан.
0 Ошибки приема не обнаружены
1 Обнаружена ошибка приема
|
UxBR0, регистр 0 управления скоростью передачи USART
UxBR1, регистр 1 управления скоростью передачи USART
215 |
214 |
213 |
212 |
211 |
210 |
29 |
28 |
UxBRx |
Биты 7-0 |
Правильный диапазон управления скоростью передачи лежит в пределах 3 <= UxBR <= 0FFFFh, где UxBR={UxBR1+UxBR0}. Если UxBR < 3, произойдет непредсказуемая синхронизация приема и передачи. |
UxMCTL, регистр управления модуляцией USART
UxMCTLx |
Биты 7-0 |
Биты модуляции. Эти биты выбирают модуляцию для BRCLK. |
UxRXBUF, регистр буфера приема USART
UxRXBUFx |
Биты 7-0 |
Буфер принятых данных доступен пользователю и содержит последний принятый из сдвигового регистра приема символ. Чтение UxRXBUF сбрасывает биты ошибок приема, бит RXWAKE и URXIFGx. В режиме 7-разрядных данных, UxRXBUF выравнивается по младшему разряду (LSB), а старший разряд (MSB) всегда сбрасывается. |
UxTXBUF, регистр буфера передачи USART
UxTXBUFx |
Биты 7-0 |
Буфер передаваемых данных доступен пользователю и хранит данные, ожидающие перемещения в сдвиговый регистр передачи и отправку на UTXDx. Запись в буфер данных передачи очищает UTXIFGx. Старший разряд UxTXBUF не используется для 7-разрядных данных и поэтому сбрасывается. |
ME1, регистр 1 включения модуля
UTXE0* |
Бит 7 |
Разрешение передачи USART0. Этот бит включает передатчик USART0.
0 Модуль выключен
1 Модуль включен
|
URXE0* |
Бит 6 |
Разрешение приема USART0. Этот бит включает приемник USART0.
0 Модуль выключен
1 Модуль включен
|
|
Биты 5-0 |
Эти биты могут быть использованы другими модулями. См. справочные данные конкретного устройства. |
* Не используется в устройствах MSP430x12xx. См. ME2 для битов включения модуля USART0 MSP430x12xx.
ME2, регистр 2 включения модуля
UTXE1 |
URXE1 |
|
|
UTXE0** |
URXE0** |
|
|
|
Биты 7-6 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXE1 |
Бит 5 |
Включение передачи USART1. Этот бит включает передатчик USART1.
0 Модуль выключен
1 Модуль включен
|
URXE1 |
Бит 4 |
Включение приема USART1. Этот бит включает приемник USART1.
0 Модуль выключен
1 Модуль включен
|
|
Биты 3-2 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXE0** |
Бит 1 |
Включение передачи USART0. Этот бит включает передатчик USART0.
0 Модуль выключен
1 Модуль включен
|
URXE0** |
Бит 0 |
Включение приема USART0. Этот бит включает приемник USART0.
0 Модуль выключен
1 Модуль включен
|
** Только в устройствах MSP430x12xx
IE1, регистр 1 разрешения прерываний
UTXIE0* |
Бит 7 |
Разрешение прерывания при передаче USART0. Этот бит разрешает прерывание UTXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
URXIE0* |
Бит 6 |
Разрешение прерывания при приеме USART0. Этот бит разрешает прерывание URXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
|
Биты 5-0 |
Эти биты могут быть использованы другими модулями. См. справочные данные конкретного устройства. |
* Не используется в устройствах MSP430x12xx. См. IE2 для битов разрешения прерывания USART0 MSP430x12xx.
IE2, регистр 2 разрешения прерывания
|
|
UTXIE1 |
URXIE1 |
|
|
UTXIE0** |
URXIE0** |
|
Биты 7-6 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIE1 |
Бит 5 |
Разрешение прерывания при передаче USART1. Этот бит разрешает прерывание UTXIFG1.
0 Прерывание не разрешено
1 Прерывание разрешено
|
URXIE1 |
Бит 4 |
Разрешение прерывания при приеме USART1. Этот бит разрешает прерывание URXIFG1.
0 Прерывание не разрешено
1 Прерывание разрешено
|
|
Биты 3-2 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIE0** |
Бит 1 |
Разрешение прерывания при передаче USART0. Этот бит разрешает прерывание UTXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
URXIE0** |
Бит 0 |
Разрешение прерывания при приеме USART0. Этот бит разрешает прерывание URXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
** Только в устройствах MSP430x12xx
IFG1, регистр 1 флагов прерываний
UTXIFG0* |
Бит 7 |
Флаг прерывания при передаче USART0. UTXIFG0 устанавливается, когда U0TXBUF пуст.
0 Прерывание не ожидается
1 Прерывание ожидается
|
URXIFG0* |
Бит 6 |
Флаг прерывания при приеме USART0. URXIFG0 устанавливается, когда в U0TXBUF принят полный символ.
0 Прерывание не ожидается
1 Прерывание ожидается
|
|
Биты 5-0 |
Эти биты могут быть использованы другими модулями. См. справочные данные конкретного устройства. |
* Не используется в устройствах MSP430x12xx. См. IFG2 для битов флагов прерывания USART0 MSP430x12xx.
IFG2, регистр 2 флагов прерываний
|
|
UTXIFG1 |
URXIFG1 |
|
|
UTXIFG0** |
URXIFG0** |
|
Биты 7-6 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIFG1 |
Бит 5 |
Флаг прерывания при передаче USART1. UTXIFG1 устанавливается, когда U1TXBUF пуст.
0 Прерывание не ожидается
1 Прерывание ожидается
|
URXIFG1 |
Бит 4 |
Флаг прерывания при приеме USART1. URXIFG1 устанавливается, когда в U1RXBUF принят полный символ.
0 Прерывание не ожидается
1 Прерывание ожидается
|
|
Биты 3-2 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIFG0** |
Бит 1 |
Флаг прерывания при передаче USART0. UTXIFG0 устанавливается, когда U0TXBUF пуст.
0 Прерывание не ожидается
1 Прерывание ожидается
|
URXIFG0** |
Бит 0 |
Флаг прерывания при приеме USART0. URXIFG0 устанавливается, когда в U0RXBUF принят полный символ.
0 Прерывание не ожидается
1 Прерывание ожидается
|
** Только в устройствах MSP430x12xx
|