Control register 2 (USART_CR2)

Второй регистр управления

Базовый адрес:

Смещение (Address offset): 0x10

Reset value: 0x0000'0000

3130292827262524
Reserved
------------------------
00000000
2322212019181716
Reserved
------------------------
00000000


15141312111098
Reserved LINEN STOP[1:0] CLKEN CPOL CPHA LBCL
---rwrwrwrwrwrwrw
00000000
76543210
Reserved LBDIE LBDL Reserved ADD[3:0]
---rwrw--rwrwrwrw
00000000


Bits 31:15
Reserved
Forced by hardware to 0
Зарезервировано. Аппаратно установлено в 0
Bit 14
LINEN
LIN mode enable
Включение USART в режиме LIN (Local Interconnect Network)

 0 : LIN выключен

 1 : LIN включен

LIN-режим позволяет отправлять синхонизирующие break-символы при установленом бите SBK регистра USART_CR1, а так же обнаруживать их.

Bits 13:12
STOP
STOP bits
Количество стоповых бит

 00 : 1 стоповый бит

 01 : 0.5 стоповых бита

 10 : 2 стоповый бита

 11 : 1.5 стоповых бита

Установка 0.5 и 1.5 стоповых бита недоступно в UART4 и UART5.

Bit 11
CLKEN
Clock enable
Включение вывода CK (Transmitter clock output) для синхронного обмена. Недоступно в UART4 и UART5.

 0 : вывод CK отключен

 1 : вывод CK включен

Bit 10
CPOL
Clock polarity
Полярность тактового сигнала на выходе CK в синхронном режиме. Работает в сочетании с битом CPHA. Недоступно в UART4 и UART5. Нельзя изменять в режиме обмена.

 0 : лог. "0" при незанятой линии. Подтяжка к "земле"

 1 : лог. "1" при незанятой линии. Подтяжка к "питанию"

Bit 9
CPHA
Clock phase
Фаза тактового сигнала на выходе CK в синхронном режиме. Работает в сочетании с битом CPOL. Недоступно в UART4 и UART5. Нельзя изменять в режиме обмена.

 0 : первый тактовый переход фиксирует данные

 1 : второй тактовый переход фиксирует данные

Bit 8
LBCL
Last bit clock pulse
Вывод тактового импульса CK при передаче последнего (старшего) бита данных MSb в синхронном режиме. Недоступно в UART4 и UART5. Нельзя изменять в режиме обмена.

 0 : тактовый импульс не выводится на CK

 1 : тактовый импульс выводится на CK

Bit 7
Reserved
Forced by hardware to 0
Зарезервировано. Аппаратно установлено в 0.
Bit 6
LBDIE
LIN break detection interrupt enable
Разрешение прерывания с использованием разделителя Break-символа в режиме LIN.

 0 : прерывание запрещено

 1 : прерывание разрешено.

Прерывание USART генерируется, когда принят Break-символ, при этом выставляется бит LBD="1" регистра USART_SR.

Bit 5
LBDL
LIN break detection length
Длина Break-символа

 0 : 10 - бит

 1 : 11 - бит

Bit 4
Reserved
Forced by hardware to 0
Зарезервировано. Аппаратно установлено в 0.
Bits 3:0
ADD[3:0]
Address of the USART node
Адрес узла USART. Используется в многопроцессорном обмене данными для пробуждения из спящего режима при обнаружении метки адреса.


/******************  Bit definition for USART_CR2 register  *******************/

#define  USART_CR2_ADD                       ((uint16_t)0x000F)            /* Address of the USART node */
#define  USART_CR2_LBDL                      ((uint16_t)0x0020)            /* LIN Break Detection Length */
#define  USART_CR2_LBDIE                     ((uint16_t)0x0040)            /* LIN Break Detection Interrupt Enable */
#define  USART_CR2_LBCL                      ((uint16_t)0x0100)            /* Last Bit Clock pulse */

#define  USART_CR2_CPHA                      ((uint16_t)0x0200)            /* Clock Phase */
#define  USART_CR2_CPOL                      ((uint16_t)0x0400)            /* Clock Polarity */
#define  USART_CR2_CLKEN                     ((uint16_t)0x0800)            /* Clock Enable */

#define  USART_CR2_STOP                      ((uint16_t)0x3000)            /* STOP[1:0] bits (STOP bits) */
#define  USART_CR2_STOP_0                    ((uint16_t)0x1000)            /* Bit 0 */
#define  USART_CR2_STOP_1                    ((uint16_t)0x2000)            /* Bit 1 */

#define  USART_CR2_LINEN                     ((uint16_t)0x4000)            /* LIN mode enable */