Регистры SYSCFG STM32F4
Регистры SYSCFG STM32F4: отображение памяти на адрес 0 в MEMRMP, выбор интерфейса Ethernet в PMC, источники линий EXTI в EXTICR1–EXTICR4, ячейка компенсации выводов в CMPCR.
Контроллер системной конфигурации у STM32F4 отображает на адрес 0x0000 0000 выбранную память (основную флеш, системную память с загрузчиком, SRAM или внешнюю память), выбирает интерфейс MII или RMII для Ethernet и подключает выводы портов к линиям внешних прерываний EXTI (RM0090, раздел 9). Эти функции у STM32F1 выполнял блок AFIO.
Регистры EXTICR1–EXTICR4 выбирают по 4 бита на линию: линия EXTIn получает вывод n порта A, B, C и так далее. Тактирование SYSCFG включается битом SYSCFGEN в регистре RCC_APB2ENR. У STM32F42x/43x регистр MEMRMP шире: в нём есть выбор банков флеш-памяти и перестановка банков FMC.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| SYSCFG | 0x4001 3800 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| SYSCFG_MEMRMP | 0x00 | Отображение памяти на адрес 0 | 0x0000 000X (X — память, выбранная выводами BOOT) |
| SYSCFG_PMC | 0x04 | Режим периферии: интерфейс Ethernet | 0x0000 0000 |
| SYSCFG_EXTICR1 | 0x08 | Источники линий EXTI0–EXTI3 | 0x0000 0000 |
| SYSCFG_EXTICR2 | 0x0C | Источники линий EXTI4–EXTI7 | 0x0000 0000 |
| SYSCFG_EXTICR3 | 0x10 | Источники линий EXTI8–EXTI11 | 0x0000 0000 |
| SYSCFG_EXTICR4 | 0x14 | Источники линий EXTI12–EXTI15 | 0x0000 0000 |
| SYSCFG_CMPCR | 0x20 | Ячейка компенсации выводов | 0x0000 0000 |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x00000000
0000 0000 0000 0000 0000 0000 0000 0000
SYSCFG->MEMRMP = 0x00000000;SYSCFG_MEMRMP — отображение памяти на адрес 0
Смещение 0x00, адрес 0x4001 3800, 32 бит, после сброса 0x0000 000X (X — память, выбранная выводами BOOT). В коде: SYSCFG->MEMRMP.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SWP_FMC | — | UFB_MODE | — | MEM_MODE | ||||||||||
- SWP_FMC (биты 11:10) — Перестановка банков FMC: SDRAM на место NAND и PC Card (только у STM32F427, STM32F429, STM32F437, STM32F439).
SWP_FMC Значение 00 Без перестановки 01 SDRAM банки 1 и 2 — по адресам 0x8000 0000 и 0x9000 0000 - UFB_MODE (бит 8) — Банк флеш-памяти по адресу 0x0800 0000 (в RM0090 — FB_MODE) (только у STM32F427, STM32F429, STM32F437, STM32F439).
UFB_MODE Значение 0 По 0x0800 0000 — банк 1, по 0x0810 0000 — банк 2 1 По 0x0800 0000 — банк 2, по 0x0810 0000 — банк 1 - MEM_MODE (биты 2:0) — Память, отображаемая на адрес 0x0000 0000 (только у STM32F427, STM32F429, STM32F437, STM32F439).
MEM_MODE Значение 000 Основная флеш-память 001 Системная память (загрузчик) 010 FSMC/FMC, банк 1 (NOR/PSRAM 1 и 2) 011 Встроенная SRAM1 100 FMC SDRAM, банк 1 (только STM32F42x/43x) - MEM_MODE (биты 1:0) — Память, отображаемая на адрес 0x0000 0000 (только у STM32F405, STM32F407, STM32F415, STM32F417).
MEM_MODE Значение 00 Основная флеш-память 01 Системная память (загрузчик) 10 FSMC/FMC, банк 1 (NOR/PSRAM 1 и 2) 11 Встроенная SRAM1
SYSCFG_PMC — режим периферии: интерфейс Ethernet
Смещение 0x04, адрес 0x4001 3804, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->PMC.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | MII_RMII_SEL | — | ADC3DC2 | ADC2DC2 | ADC1DC2 | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | |||||||||||||||
- MII_RMII_SEL (бит 23) — Интерфейс Ethernet PHY: MII или RMII.
MII_RMII_SEL Значение 0 MII 1 RMII - ADC3DC2 (бит 18) — Режим питания АЦП3 для повышения точности, см. AN4073 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- ADC2DC2 (бит 17) — Режим питания АЦП2 для повышения точности, см. AN4073 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- ADC1DC2 (бит 16) — Режим питания АЦП1 для повышения точности, см. AN4073 (только у STM32F427, STM32F429, STM32F437, STM32F439).
SYSCFG_EXTICR1 — источники линий EXTI0–EXTI3
Смещение 0x08, адрес 0x4001 3808, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[0].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI3 | EXTI2 | EXTI1 | EXTI0 | ||||||||||||
- EXTI3 (биты 15:12) — Порт, вывод 3 которого подключён к линии EXTI3.
EXTI3 Значение Макрос CMSIS 0000 Порт A (PA3) SYSCFG_EXTICR1_EXTI3_PA 0001 Порт B (PB3) SYSCFG_EXTICR1_EXTI3_PB 0010 Порт C (PC3) SYSCFG_EXTICR1_EXTI3_PC 0011 Порт D (PD3) SYSCFG_EXTICR1_EXTI3_PD 0100 Порт E (PE3) SYSCFG_EXTICR1_EXTI3_PE 0101 Порт F (PF3) SYSCFG_EXTICR1_EXTI3_PF 0110 Порт G (PG3) SYSCFG_EXTICR1_EXTI3_PG 0111 Порт H (PH3) SYSCFG_EXTICR1_EXTI3_PH 1000 Порт I (PI3) SYSCFG_EXTICR1_EXTI3_PI 1001 Порт J (PJ3) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI3_PJ 1010 Порт K (PK3) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI3_PK - EXTI2 (биты 11:8) — Порт, вывод 2 которого подключён к линии EXTI2.
EXTI2 Значение Макрос CMSIS 0000 Порт A (PA2) SYSCFG_EXTICR1_EXTI2_PA 0001 Порт B (PB2) SYSCFG_EXTICR1_EXTI2_PB 0010 Порт C (PC2) SYSCFG_EXTICR1_EXTI2_PC 0011 Порт D (PD2) SYSCFG_EXTICR1_EXTI2_PD 0100 Порт E (PE2) SYSCFG_EXTICR1_EXTI2_PE 0101 Порт F (PF2) SYSCFG_EXTICR1_EXTI2_PF 0110 Порт G (PG2) SYSCFG_EXTICR1_EXTI2_PG 0111 Порт H (PH2) SYSCFG_EXTICR1_EXTI2_PH 1000 Порт I (PI2) SYSCFG_EXTICR1_EXTI2_PI 1001 Порт J (PJ2) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI2_PJ 1010 Порт K (PK2) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI2_PK - EXTI1 (биты 7:4) — Порт, вывод 1 которого подключён к линии EXTI1.
EXTI1 Значение Макрос CMSIS 0000 Порт A (PA1) SYSCFG_EXTICR1_EXTI1_PA 0001 Порт B (PB1) SYSCFG_EXTICR1_EXTI1_PB 0010 Порт C (PC1) SYSCFG_EXTICR1_EXTI1_PC 0011 Порт D (PD1) SYSCFG_EXTICR1_EXTI1_PD 0100 Порт E (PE1) SYSCFG_EXTICR1_EXTI1_PE 0101 Порт F (PF1) SYSCFG_EXTICR1_EXTI1_PF 0110 Порт G (PG1) SYSCFG_EXTICR1_EXTI1_PG 0111 Порт H (PH1) SYSCFG_EXTICR1_EXTI1_PH 1000 Порт I (PI1) SYSCFG_EXTICR1_EXTI1_PI 1001 Порт J (PJ1) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI1_PJ 1010 Порт K (PK1) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI1_PK - EXTI0 (биты 3:0) — Порт, вывод 0 которого подключён к линии EXTI0.
EXTI0 Значение Макрос CMSIS 0000 Порт A (PA0) SYSCFG_EXTICR1_EXTI0_PA 0001 Порт B (PB0) SYSCFG_EXTICR1_EXTI0_PB 0010 Порт C (PC0) SYSCFG_EXTICR1_EXTI0_PC 0011 Порт D (PD0) SYSCFG_EXTICR1_EXTI0_PD 0100 Порт E (PE0) SYSCFG_EXTICR1_EXTI0_PE 0101 Порт F (PF0) SYSCFG_EXTICR1_EXTI0_PF 0110 Порт G (PG0) SYSCFG_EXTICR1_EXTI0_PG 0111 Порт H (PH0) SYSCFG_EXTICR1_EXTI0_PH 1000 Порт I (PI0) SYSCFG_EXTICR1_EXTI0_PI 1001 Порт J (PJ0) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI0_PJ 1010 Порт K (PK0) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR1_EXTI0_PK
SYSCFG_EXTICR2 — источники линий EXTI4–EXTI7
Смещение 0x0C, адрес 0x4001 380C, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[1].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI7 | EXTI6 | EXTI5 | EXTI4 | ||||||||||||
- EXTI7 (биты 15:12) — Порт, вывод 7 которого подключён к линии EXTI7.
EXTI7 Значение Макрос CMSIS 0000 Порт A (PA7) SYSCFG_EXTICR2_EXTI7_PA 0001 Порт B (PB7) SYSCFG_EXTICR2_EXTI7_PB 0010 Порт C (PC7) SYSCFG_EXTICR2_EXTI7_PC 0011 Порт D (PD7) SYSCFG_EXTICR2_EXTI7_PD 0100 Порт E (PE7) SYSCFG_EXTICR2_EXTI7_PE 0101 Порт F (PF7) SYSCFG_EXTICR2_EXTI7_PF 0110 Порт G (PG7) SYSCFG_EXTICR2_EXTI7_PG 0111 Порт H (PH7) SYSCFG_EXTICR2_EXTI7_PH 1000 Порт I (PI7) SYSCFG_EXTICR2_EXTI7_PI 1001 Порт J (PJ7) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI7_PJ 1010 Порт K (PK7) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI7_PK - EXTI6 (биты 11:8) — Порт, вывод 6 которого подключён к линии EXTI6.
EXTI6 Значение Макрос CMSIS 0000 Порт A (PA6) SYSCFG_EXTICR2_EXTI6_PA 0001 Порт B (PB6) SYSCFG_EXTICR2_EXTI6_PB 0010 Порт C (PC6) SYSCFG_EXTICR2_EXTI6_PC 0011 Порт D (PD6) SYSCFG_EXTICR2_EXTI6_PD 0100 Порт E (PE6) SYSCFG_EXTICR2_EXTI6_PE 0101 Порт F (PF6) SYSCFG_EXTICR2_EXTI6_PF 0110 Порт G (PG6) SYSCFG_EXTICR2_EXTI6_PG 0111 Порт H (PH6) SYSCFG_EXTICR2_EXTI6_PH 1000 Порт I (PI6) SYSCFG_EXTICR2_EXTI6_PI 1001 Порт J (PJ6) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI6_PJ 1010 Порт K (PK6) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI6_PK - EXTI5 (биты 7:4) — Порт, вывод 5 которого подключён к линии EXTI5.
EXTI5 Значение Макрос CMSIS 0000 Порт A (PA5) SYSCFG_EXTICR2_EXTI5_PA 0001 Порт B (PB5) SYSCFG_EXTICR2_EXTI5_PB 0010 Порт C (PC5) SYSCFG_EXTICR2_EXTI5_PC 0011 Порт D (PD5) SYSCFG_EXTICR2_EXTI5_PD 0100 Порт E (PE5) SYSCFG_EXTICR2_EXTI5_PE 0101 Порт F (PF5) SYSCFG_EXTICR2_EXTI5_PF 0110 Порт G (PG5) SYSCFG_EXTICR2_EXTI5_PG 0111 Порт H (PH5) SYSCFG_EXTICR2_EXTI5_PH 1000 Порт I (PI5) SYSCFG_EXTICR2_EXTI5_PI 1001 Порт J (PJ5) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI5_PJ 1010 Порт K (PK5) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI5_PK - EXTI4 (биты 3:0) — Порт, вывод 4 которого подключён к линии EXTI4.
EXTI4 Значение Макрос CMSIS 0000 Порт A (PA4) SYSCFG_EXTICR2_EXTI4_PA 0001 Порт B (PB4) SYSCFG_EXTICR2_EXTI4_PB 0010 Порт C (PC4) SYSCFG_EXTICR2_EXTI4_PC 0011 Порт D (PD4) SYSCFG_EXTICR2_EXTI4_PD 0100 Порт E (PE4) SYSCFG_EXTICR2_EXTI4_PE 0101 Порт F (PF4) SYSCFG_EXTICR2_EXTI4_PF 0110 Порт G (PG4) SYSCFG_EXTICR2_EXTI4_PG 0111 Порт H (PH4) SYSCFG_EXTICR2_EXTI4_PH 1000 Порт I (PI4) SYSCFG_EXTICR2_EXTI4_PI 1001 Порт J (PJ4) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI4_PJ 1010 Порт K (PK4) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR2_EXTI4_PK
SYSCFG_EXTICR3 — источники линий EXTI8–EXTI11
Смещение 0x10, адрес 0x4001 3810, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[2].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI11 | EXTI10 | EXTI9 | EXTI8 | ||||||||||||
- EXTI11 (биты 15:12) — Порт, вывод 11 которого подключён к линии EXTI11.
EXTI11 Значение Макрос CMSIS 0000 Порт A (PA11) SYSCFG_EXTICR3_EXTI11_PA 0001 Порт B (PB11) SYSCFG_EXTICR3_EXTI11_PB 0010 Порт C (PC11) SYSCFG_EXTICR3_EXTI11_PC 0011 Порт D (PD11) SYSCFG_EXTICR3_EXTI11_PD 0100 Порт E (PE11) SYSCFG_EXTICR3_EXTI11_PE 0101 Порт F (PF11) SYSCFG_EXTICR3_EXTI11_PF 0110 Порт G (PG11) SYSCFG_EXTICR3_EXTI11_PG 0111 Порт H (PH11) SYSCFG_EXTICR3_EXTI11_PH 1000 Порт I (PI11) SYSCFG_EXTICR3_EXTI11_PI 1001 Порт J (PJ11) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR3_EXTI11_PJ - EXTI10 (биты 11:8) — Порт, вывод 10 которого подключён к линии EXTI10.
EXTI10 Значение Макрос CMSIS 0000 Порт A (PA10) SYSCFG_EXTICR3_EXTI10_PA 0001 Порт B (PB10) SYSCFG_EXTICR3_EXTI10_PB 0010 Порт C (PC10) SYSCFG_EXTICR3_EXTI10_PC 0011 Порт D (PD10) SYSCFG_EXTICR3_EXTI10_PD 0100 Порт E (PE10) SYSCFG_EXTICR3_EXTI10_PE 0101 Порт F (PF10) SYSCFG_EXTICR3_EXTI10_PF 0110 Порт G (PG10) SYSCFG_EXTICR3_EXTI10_PG 0111 Порт H (PH10) SYSCFG_EXTICR3_EXTI10_PH 1000 Порт I (PI10) SYSCFG_EXTICR3_EXTI10_PI 1001 Порт J (PJ10) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR3_EXTI10_PJ - EXTI9 (биты 7:4) — Порт, вывод 9 которого подключён к линии EXTI9.
EXTI9 Значение Макрос CMSIS 0000 Порт A (PA9) SYSCFG_EXTICR3_EXTI9_PA 0001 Порт B (PB9) SYSCFG_EXTICR3_EXTI9_PB 0010 Порт C (PC9) SYSCFG_EXTICR3_EXTI9_PC 0011 Порт D (PD9) SYSCFG_EXTICR3_EXTI9_PD 0100 Порт E (PE9) SYSCFG_EXTICR3_EXTI9_PE 0101 Порт F (PF9) SYSCFG_EXTICR3_EXTI9_PF 0110 Порт G (PG9) SYSCFG_EXTICR3_EXTI9_PG 0111 Порт H (PH9) SYSCFG_EXTICR3_EXTI9_PH 1000 Порт I (PI9) SYSCFG_EXTICR3_EXTI9_PI 1001 Порт J (PJ9) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR3_EXTI9_PJ - EXTI8 (биты 3:0) — Порт, вывод 8 которого подключён к линии EXTI8.
EXTI8 Значение Макрос CMSIS 0000 Порт A (PA8) SYSCFG_EXTICR3_EXTI8_PA 0001 Порт B (PB8) SYSCFG_EXTICR3_EXTI8_PB 0010 Порт C (PC8) SYSCFG_EXTICR3_EXTI8_PC 0011 Порт D (PD8) SYSCFG_EXTICR3_EXTI8_PD 0100 Порт E (PE8) SYSCFG_EXTICR3_EXTI8_PE 0101 Порт F (PF8) SYSCFG_EXTICR3_EXTI8_PF 0110 Порт G (PG8) SYSCFG_EXTICR3_EXTI8_PG 0111 Порт H (PH8) SYSCFG_EXTICR3_EXTI8_PH 1000 Порт I (PI8) SYSCFG_EXTICR3_EXTI8_PI 1001 Порт J (PJ8) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR3_EXTI8_PJ
SYSCFG_EXTICR4 — источники линий EXTI12–EXTI15
Смещение 0x14, адрес 0x4001 3814, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[3].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI15 | EXTI14 | EXTI13 | EXTI12 | ||||||||||||
- EXTI15 (биты 15:12) — Порт, вывод 15 которого подключён к линии EXTI15.
EXTI15 Значение Макрос CMSIS 0000 Порт A (PA15) SYSCFG_EXTICR4_EXTI15_PA 0001 Порт B (PB15) SYSCFG_EXTICR4_EXTI15_PB 0010 Порт C (PC15) SYSCFG_EXTICR4_EXTI15_PC 0011 Порт D (PD15) SYSCFG_EXTICR4_EXTI15_PD 0100 Порт E (PE15) SYSCFG_EXTICR4_EXTI15_PE 0101 Порт F (PF15) SYSCFG_EXTICR4_EXTI15_PF 0110 Порт G (PG15) SYSCFG_EXTICR4_EXTI15_PG 0111 Порт H (PH15) SYSCFG_EXTICR4_EXTI15_PH 1000 Порт I (PI15) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR4_EXTI15_PI 1001 Порт J (PJ15) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR4_EXTI15_PJ - EXTI14 (биты 11:8) — Порт, вывод 14 которого подключён к линии EXTI14.
EXTI14 Значение Макрос CMSIS 0000 Порт A (PA14) SYSCFG_EXTICR4_EXTI14_PA 0001 Порт B (PB14) SYSCFG_EXTICR4_EXTI14_PB 0010 Порт C (PC14) SYSCFG_EXTICR4_EXTI14_PC 0011 Порт D (PD14) SYSCFG_EXTICR4_EXTI14_PD 0100 Порт E (PE14) SYSCFG_EXTICR4_EXTI14_PE 0101 Порт F (PF14) SYSCFG_EXTICR4_EXTI14_PF 0110 Порт G (PG14) SYSCFG_EXTICR4_EXTI14_PG 0111 Порт H (PH14) SYSCFG_EXTICR4_EXTI14_PH 1000 Порт I (PI14) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR4_EXTI14_PI 1001 Порт J (PJ14) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR4_EXTI14_PJ - EXTI13 (биты 7:4) — Порт, вывод 13 которого подключён к линии EXTI13.
EXTI13 Значение Макрос CMSIS 0000 Порт A (PA13) SYSCFG_EXTICR4_EXTI13_PA 0001 Порт B (PB13) SYSCFG_EXTICR4_EXTI13_PB 0010 Порт C (PC13) SYSCFG_EXTICR4_EXTI13_PC 0011 Порт D (PD13) SYSCFG_EXTICR4_EXTI13_PD 0100 Порт E (PE13) SYSCFG_EXTICR4_EXTI13_PE 0101 Порт F (PF13) SYSCFG_EXTICR4_EXTI13_PF 0110 Порт G (PG13) SYSCFG_EXTICR4_EXTI13_PG 0111 Порт H (PH13) SYSCFG_EXTICR4_EXTI13_PH - EXTI12 (биты 3:0) — Порт, вывод 12 которого подключён к линии EXTI12.
EXTI12 Значение Макрос CMSIS 0000 Порт A (PA12) SYSCFG_EXTICR4_EXTI12_PA 0001 Порт B (PB12) SYSCFG_EXTICR4_EXTI12_PB 0010 Порт C (PC12) SYSCFG_EXTICR4_EXTI12_PC 0011 Порт D (PD12) SYSCFG_EXTICR4_EXTI12_PD 0100 Порт E (PE12) SYSCFG_EXTICR4_EXTI12_PE 0101 Порт F (PF12) SYSCFG_EXTICR4_EXTI12_PF 0110 Порт G (PG12) SYSCFG_EXTICR4_EXTI12_PG 0111 Порт H (PH12) SYSCFG_EXTICR4_EXTI12_PH 1000 Порт I (PI12) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR4_EXTI12_PI 1001 Порт J (PJ12) (только у STM32F427, STM32F429, STM32F437, STM32F439) SYSCFG_EXTICR4_EXTI12_PJ
SYSCFG_CMPCR — ячейка компенсации выводов
Смещение 0x20, адрес 0x4001 3820, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->CMPCR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | READY | — | CMP_PD | ||||||||||||
- READY (бит 8) — Флаг готовности ячейки компенсации (только чтение).
READY Значение 0 Не готова 1 Готова - CMP_PD (бит 0) — Включение ячейки компенсации выводов.
CMP_PD Значение 0 Ячейка выключена (режим пониженного потребления) 1 Ячейка включена
Частые вопросы
Как подключить вывод PB3 к прерыванию EXTI3 в STM32F4?
Включите тактирование SYSCFG (RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN) и запишите код порта B (0001) в поле EXTI3 регистра EXTICR1: SYSCFG->EXTICR[0] = (SYSCFG->EXTICR[0] & ~SYSCFG_EXTICR1_EXTI3) | SYSCFG_EXTICR1_EXTI3_PB. Затем настройте линию 3 в регистрах EXTI.
Зачем нужна ячейка компенсации?
По RM0090 её рекомендуют включать, когда выходы работают на скорости 50 или 100 МГц: она управляет крутизной фронтов и снижает помехи по питанию. Включается битом CMP_PD регистра CMPCR, готовность показывает флаг READY.
Источники
- STMicroelectronics. RM0090: Reference manual (Rev 22) — раздел 9.2: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-f4 v2.6.11: заголовки CMSIS stm32f405xx.h, stm32f407xx.h, stm32f415xx.h, stm32f417xx.h, stm32f427xx.h, stm32f429xx.h, stm32f437xx.h, stm32f439xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32F4
- Все регистры STM32F4Блоки периферии и заголовки CMSIS
- RCC — сброс и тактированиеRCC_CR, RCC_PLLCFGR, RCC_CFGR, RCC_CIR, RCC_AHB1RSTR, RCC_AHB2RSTR
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR
- EXTI — контроллер внешних прерываний и событийEXTI_IMR, EXTI_EMR, EXTI_RTSR, EXTI_FTSR, EXTI_SWIER, EXTI_PR
- USART — последовательные порты USART и UARTUSART_SR, USART_DR, USART_BRR, USART_CR1, USART_CR2, USART_CR3
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_DR, I2C_SR1
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- DMA — контроллеры прямого доступа к памятиDMA_LISR, DMA_HISR, DMA_LIFCR, DMA_HIFCR, DMA_SxCR, DMA_SxNDT
- ADC — аналого-цифровые преобразователиADC_SR, ADC_CR1, ADC_CR2, ADC_SMPR1, ADC_SMPR2, ADC_JOFR1
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — блок вычисления CRCCRC_DR, CRC_IDR, CRC_CR
- DBGMCU — регистры отладкиDBGMCU_IDCODE, DBGMCU_CR, DBGMCU_APB1_FZ, DBGMCU_APB2_FZ