Port output data register (GPIOx_ODR) (x=A..G)
Регистр выходных данных
Смещение (Address offset): 0x0C
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 |
ODR15 | ODR14 | ODR13 | ODR12 | ODR11 | ODR10 | ODR9 | ODR8 |
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ODR7 | ODR6 | ODR5 | ODR4 | ODR3 | ODR2 | ODR1 | ODR0 |
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 31:16
Reserved
Reserved, must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bit 15:0
ODRy
Port output data (y= 0 .. 15)
Данные выходных портов
Доступны на чтение и запись и только в 32-битном (Word mode) режиме.
При настройке порта на вывод: бит содержит выходное значение соответствующего порта ввода-вывода.
При настройке порта на ввод: бит управляет подтяжкой входа к земле (pull-down) при ODRy=0 или к питанию (pull-up) при ODRy=1.
Для индивидуального управления битами лучше использовать регистры GPIOx_BSRR и GPIOx_BRR (x = A .. G).
/******************* Bit definition for GPIO_ODR register *******************/
#define GPIO_ODR_ODR0 ((uint16_t)0x0001) /* Port output data, bit 0 */
#define GPIO_ODR_ODR1 ((uint16_t)0x0002) /* Port output data, bit 1 */
#define GPIO_ODR_ODR2 ((uint16_t)0x0004) /* Port output data, bit 2 */
#define GPIO_ODR_ODR3 ((uint16_t)0x0008) /* Port output data, bit 3 */
#define GPIO_ODR_ODR4 ((uint16_t)0x0010) /* Port output data, bit 4 */
#define GPIO_ODR_ODR5 ((uint16_t)0x0020) /* Port output data, bit 5 */
#define GPIO_ODR_ODR6 ((uint16_t)0x0040) /* Port output data, bit 6 */
#define GPIO_ODR_ODR7 ((uint16_t)0x0080) /* Port output data, bit 7 */
#define GPIO_ODR_ODR8 ((uint16_t)0x0100) /* Port output data, bit 8 */
#define GPIO_ODR_ODR9 ((uint16_t)0x0200) /* Port output data, bit 9 */
#define GPIO_ODR_ODR10 ((uint16_t)0x0400) /* Port output data, bit 10 */
#define GPIO_ODR_ODR11 ((uint16_t)0x0800) /* Port output data, bit 11 */
#define GPIO_ODR_ODR12 ((uint16_t)0x1000) /* Port output data, bit 12 */
#define GPIO_ODR_ODR13 ((uint16_t)0x2000) /* Port output data, bit 13 */
#define GPIO_ODR_ODR14 ((uint16_t)0x4000) /* Port output data, bit 14 */
#define GPIO_ODR_ODR15 ((uint16_t)0x8000) /* Port output data, bit 15 */