Guard time and prescaler register (USART_GTPR)
Регистр значения времени защиты (для Smartcard) и предделитель (для IrDA и Smartcard)
Смещение (Address offset): 0x18
Reset value: 0x0000'0000
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 |
GT[7:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PSC[7:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Используется в режиме смарт-карты (Smartcard mode). Флаг Завершения передачи (бит TC регистра USART_SR) устанавливается по окончании времени защиты.
Недоступно для UART4 и UART5.
- ИК-порт в режиме энергосбережения:
Тактовая частота делится на значение регистра 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) */