Guard time and prescaler register (USART_GTPR)

Регистр значения времени защиты (для Smartcard) и предделитель (для IrDA и Smartcard)

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

Reset value: 0x0000'0000

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


15141312111098
GT[7:0]
rwrwrwrwrwrwrwrw
00000000
76543210
PSC[7:0]
rwrwrwrwrwrwrwrw
00000000


Bits 31:16
Reserved
Forced by hardware to 0
Зарезервировано. Аппаратно установлено в 0
Bits 15:8
GT[7:0]
Guard time value
Значение времени защиты (Guard time) в периодах скорости обмена (baud clocks)

Используется в режиме смарт-карты (Smartcard mode). Флаг Завершения передачи (бит TC регистра USART_SR) устанавливается по окончании времени защиты.

Недоступно для UART4 и UART5.

Bits 7:0
PSC[7:0]
Prescaler value
Значение предделителя

- ИК-порт в режиме энергосбережения:

Тактовая частота делится на значение регистра PSC[7:0], все восемь бит - значащие

 0000'0000 : запрещено к использованию

 0000'0001 : деление на 1

 0000'0010 : деление на 2

 0000'0011 : деление на 3

 ...

- ИК-порт в обычном режиме:

 0000'0001 : прескалер всегда установлен на 1

- в режиме смарт-карты:

Тактовая частота смарт-карты получается делением входной частоты на коэффициент деления. Для получения коэффициента деления используется 5 младших бит [4:0], умноженных на 2. Биты [7:5] не используются (отбрасываются).

 0000'0000 : запрещено к использованию

 0000'0001 : деление на 2

 0000'0010 : деление на 4

 0000'0011 : деление на 6

 0000'0100 : деление на 8

 ...


Недоступно для UART4 и UART5.



/******************  Bit definition for USART_GTPR register  ******************/

#define  USART_GTPR_PSC               ((uint16_t)0x00FF)            /* PSC[7:0] bits (Prescaler value) */

#define  USART_GTPR_PSC_0             ((uint16_t)0x0001)            /* Bit 0 */
#define  USART_GTPR_PSC_1             ((uint16_t)0x0002)            /* Bit 1 */
#define  USART_GTPR_PSC_2             ((uint16_t)0x0004)            /* Bit 2 */
#define  USART_GTPR_PSC_3             ((uint16_t)0x0008)            /* Bit 3 */
#define  USART_GTPR_PSC_4             ((uint16_t)0x0010)            /* Bit 4 */
#define  USART_GTPR_PSC_5             ((uint16_t)0x0020)            /* Bit 5 */
#define  USART_GTPR_PSC_6             ((uint16_t)0x0040)            /* Bit 6 */
#define  USART_GTPR_PSC_7             ((uint16_t)0x0080)            /* Bit 7 */

#define  USART_GTPR_GT                ((uint16_t)0xFF00)            /* GT[7:0] bits (Guard time value) */