Data register (USART_DR)
Регистр данных USART
Смещение (Address offset): 0x04
Reset value: Undefined (неопределено)
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
Reserved | |||||||
--- | --- | --- | --- | --- | --- | --- | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved | |||||||
--- | --- | --- | --- | --- | --- | --- | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Reserved | DR[8:0] | ||||||
--- | --- | --- | --- | --- | --- | --- | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | x |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DR[8:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
x | x | x | x | x | x | x | x |
Регистр данных 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 */