Data register (USART_DR)

Регистр данных USART

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

Reset value: Undefined (неопределено)

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


15141312111098
Reserved DR[8:0]
---------------------rw
0000000x
76543210
DR[8:0]
rwrwrwrwrwrwrwrw
xxxxxxxx


Bits 31:9
Reserved
Forced by hardware to 0
Зарезервировано. Аппаратно установлено в 0
Bits 8:0
DR[8:0]
Data value
Содержит принятые или передаваемые данные, в зависимости от направления передачи.

Регистр данных DR фактически состоит из двух регистров расположенных по одному адресу:

 TDR  -  (transmit data register) регистр передаваемых данных, работает только на запись;

 RDR  -  (receive data register) регистр принимаемых данных, работает только на чтение.

При передаче с включенным контролем четности (бит PCE="1" в регистре USART_CR1) значение старшего бита (бит 7 или 8 в зависимости от длины данных) заменяется значением четности. При приёме с включенным контролем четности значение старшего бита является принятым битом контроля четности.



Глоссарий

 MSB  -  (most significant bit) старший или наиболее значимый бит; позиция бита в двоичном числе, имеющая наибольший вес.

 LSB  -  (least significant bit) младший или наименее значимый бит; позиция бита в двоичном числе, имеющая наименьший вес.

LSB противоположна по значению MSB. По соглашению о позиционной нотации записи более значащих цифр слева: MSB - самый левый бит, LSB - самый правый. MSB может являться знаковым битом для чисел со знаком.

MSB может означать старший байт в многобайтовом числе (слове). Чтобы избежать путаницы используют термины, для бита: MSb, MSbit; для байта: MSB, MSByte, MSbyte.

/*******************  Bit definition for USART_DR register  *******************/

#define  USART_DR_DR       ((uint16_t)0x01FF)       /* Data value */