Регистры SYSCFG STM32F3
Регистры SYSCFG STM32F3: какая память видна с адреса 0, переназначение каналов DMA и триггеров АЦП, Fast-mode Plus выводов I2C, защита страниц CCM SRAM от записи, порт для каждой линии EXTI, прерывания FPU и аварийные сигналы таймеров.
SYSCFG_CFGR1 выбирает память на адресе 0x0000 0000 (поле MEM_MODE), переносит запросы DMA периферии на другие каналы, включает режим Fast-mode Plus на выводах I2C и разрешает прерывания FPU по исключениям — FPU_IE. Поле ENCODER_MODE подаёт входы энкодера TIM2, TIM3 или TIM4 на каналы TIM15 (RM0316, раздел 12.1).
SYSCFG_RCR защищает страницы CCM SRAM по 1 КБ от записи до следующего сброса. Регистры EXTICR выбирают порт линий EXTI0–EXTI15. CFGR2 подключает ошибку чётности SRAM, LOCKUP ядра и PVD к входу аварийного останова таймеров; CFGR3 у STM32F303x6/x8 и F328 и CFGR4 у STM32F303xD/xE и F398 есть не у всех линеек. SYSCFG тактируется битом SYSCFGEN в RCC_APB2ENR.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| SYSCFG | 0x4001 0000 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| SYSCFG_CFGR1 | 0x00 | Отображение памяти, Fast-mode Plus, переназначения DMA, прерывания FPU | 0x7C00 000X (X — память, выбранная выводом BOOT0 и битом опций nBOOT1) |
| SYSCFG_RCR | 0x04 | Защита страниц CCM SRAM от записи | 0x0000 0000 |
| SYSCFG_EXTICR1 | 0x08 | Источники линий EXTI0–EXTI3 | 0x0000 0000 |
| SYSCFG_EXTICR2 | 0x0C | Источники линий EXTI4–EXTI7 | 0x0000 0000 |
| SYSCFG_EXTICR3 | 0x10 | Источники линий EXTI8–EXTI11 | 0x0000 |
| SYSCFG_EXTICR4 | 0x14 | Источники линий EXTI12–EXTI15 | 0x0000 0000 |
| SYSCFG_CFGR2 | 0x18 | Сигналы аварийного останова таймеров и чётность SRAM | 0x0000 (при системном сбросе) |
| SYSCFG_CFGR4 | 0x48 | Переназначение триггеров АЦП (STM32F303xD/xE, F398) | 0x0000 0000 (при системном сбросе) |
| SYSCFG_CFGR3 | 0x50 | Переназначения DMA (STM32F303x6/x8, F328) | 0x0000 0200 (при системном сбросе) |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x007C0000
0000 0000 0111 1100 0000 0000 0000 0000
SYSCFG->CFGR1 = 0x007C0000;SYSCFG_CFGR1 — отображение памяти, Fast-mode Plus, переназначения DMA, прерывания FPU
Смещение 0x00, адрес 0x4001 0000, 32 бит, после сброса 0x7C00 000X (X — память, выбранная выводом BOOT0 и битом опций nBOOT1). В коде: SYSCFG->CFGR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| FPU_IE | — | I2C3_FMP | ENCODER_MODE | I2C2_FMP | I2C1_FMP | I2C_PB9_FMP | I2C_PB8_FMP | I2C_PB7_FMP | I2C_PB6_FMP | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DAC2Ch1_DMA_RMP | TIM7DAC1Ch2_DMA_RMP | TIM6DAC1Ch1_DMA_RMP | TIM17_DMA_RMP | TIM16_DMA_RMP | — | ADC24_DMA_RMP | DAC1_TRIG1_RMP | TIM1_ITR3_RMP | USB_IT_RMP | — | MEM_MODE | ||||
- FPU_IE (биты 31:26) — Прерывания FPU: по биту на исключение — IOC, DZC, UFC, OFC, IDC, IXC.
- I2C3_FMP (бит 24) — Режим Fast-mode Plus на выводах I2C3 (только у STM32F303xE, STM32F398).
- ENCODER_MODE (биты 23:22) — Входы энкодера TIM15 — каналы IC1 и IC2 таймера TIM2, TIM3 или TIM4.
ENCODER_MODE Значение Макрос CMSIS 01 TIM2: IC1 и IC2 этого таймера — входы энкодера TIM15 SYSCFG_CFGR1_ENCODER_MODE_TIM2 10 TIM3: IC1 и IC2 этого таймера — входы энкодера TIM15 SYSCFG_CFGR1_ENCODER_MODE_TIM3 11 TIM4: IC1 и IC2 этого таймера — входы энкодера TIM15 (только у STM32F303xC, STM32F358) SYSCFG_CFGR1_ENCODER_MODE_TIM4 - I2C2_FMP (бит 21) — Режим Fast-mode Plus на выводах I2C2 (только у STM32F303xC/xE, STM32F358, STM32F398).
- I2C1_FMP (бит 20) — Режим Fast-mode Plus на выводах I2C1.
- I2C_PB9_FMP (бит 19) — Режим Fast-mode Plus (ток 20 мА) на выводе PB9.
- I2C_PB8_FMP (бит 18) — Режим Fast-mode Plus (ток 20 мА) на выводе PB8.
- I2C_PB7_FMP (бит 17) — Режим Fast-mode Plus (ток 20 мА) на выводе PB7.
- I2C_PB6_FMP (бит 16) — Режим Fast-mode Plus (ток 20 мА) на выводе PB6.
- DAC2Ch1_DMA_RMP (бит 15) — Запросы DMA канала 1 ЦАП DAC2 на канал 5 DMA1; у STM32F303x6/x8 и F328 бит должен быть 1 (только у STM32F303x8, STM32F328).
- TIM7DAC1Ch2_DMA_RMP (бит 14) — Запросы DMA TIM7_UP и канала 2 ЦАП: DMA2, канал 4 (0) или DMA1, канал 4 (1); у STM32F303x6/x8 и F328 нет DMA2 — бит должен быть 1.
- TIM6DAC1Ch1_DMA_RMP (бит 13) — Запросы DMA TIM6_UP и канала 1 ЦАП: DMA2, канал 3 (0) или DMA1, канал 3 (1); у STM32F303x6/x8 и F328 нет DMA2 — бит должен быть 1.
- TIM17_DMA_RMP (бит 12) — Запросы DMA TIM17 (CH1, UP): канал 1 (0) или 7 (1) контроллера DMA1.
- TIM16_DMA_RMP (бит 11) — Запросы DMA TIM16 (CH1, UP): канал 3 (0) или 6 (1) контроллера DMA1.
- ADC24_DMA_RMP (бит 8) — Запросы DMA АЦП ADC2 и ADC4: каналы 1 и 2 (0) или 3 и 4 (1) контроллера DMA2 (только у STM32F303xC/xE, STM32F358, STM32F398).
- DAC1_TRIG1_RMP (бит 7) — Запуск ЦАП DAC1 от TIM3_TRGO вместо TIM8_TRGO.
- TIM1_ITR3_RMP (бит 6) — Вход ITR3 таймера TIM1: TIM4_TRGO или TIM17_OC.
- USB_IT_RMP (бит 5) — Прерывания USB на векторах 74–76 вместо 19, 20 и 42 (только у STM32F303xC/xE).
- MEM_MODE (биты 2:0) — Память по адресу 0x0000 0000: флеш, системная память, FMC или SRAM (только у STM32F303xE, STM32F398).
- MEM_MODE (биты 1:0) — Память по адресу 0x0000 0000: флеш, системная память, FMC или SRAM (только у STM32F303x8/xC, STM32F328, STM32F358).
SYSCFG_RCR — защита страниц CCM SRAM от записи
Смещение 0x04, адрес 0x4001 0004, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->RCR.
| 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 |
| PAGE15 | PAGE14 | PAGE13 | PAGE12 | PAGE11 | PAGE10 | PAGE9 | PAGE8 | PAGE7 | PAGE6 | PAGE5 | PAGE4 | PAGE3 | PAGE2 | PAGE1 | PAGE0 |
- PAGE8–PAGE15 (по биту на каждый y, положение — на карте битов) — Защита страницы y CCM SRAM от записи (1 КБ, снимается только сбросом) (только у STM32F303xE, STM32F398).
- PAGE4–PAGE7 (по биту на каждый y, положение — на карте битов) — Защита страницы y CCM SRAM от записи (1 КБ, снимается только сбросом) (только у STM32F303xC/xE, STM32F358, STM32F398).
- PAGE0–PAGE3 (по биту на каждый y, положение — на карте битов) — Защита страницы y CCM SRAM от записи (1 КБ, снимается только сбросом).
- PAGE1 (бит 1) — Защита страницы 1 CCM SRAM от записи (1 КБ, снимается только сбросом).
SYSCFG_EXTICR1 — источники линий EXTI0–EXTI3
Смещение 0x08, адрес 0x4001 0008, 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI3_PF 0110 Порт G (PG3) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI3_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI2_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI1_PG 0111 Порт H (PH1) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI1_PH - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI0_PG 0111 Порт H (PH0) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR1_EXTI0_PH
SYSCFG_EXTICR2 — источники линий EXTI4–EXTI7
Смещение 0x0C, адрес 0x4001 000C, 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR2_EXTI7_PF 0110 Порт G (PG7) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR2_EXTI7_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR2_EXTI6_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR2_EXTI5_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR2_EXTI4_PG 0111 Порт H (PH4) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR2_EXTI4_PH
SYSCFG_EXTICR3 — источники линий EXTI8–EXTI11
Смещение 0x10, адрес 0x4001 0010, 32 бит, после сброса 0x0000. В коде: 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR3_EXTI11_PF 0110 Порт G (PG11) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR3_EXTI11_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR3_EXTI10_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR3_EXTI9_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR3_EXTI8_PF 0110 Порт G (PG8) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR3_EXTI8_PG
SYSCFG_EXTICR4 — источники линий EXTI12–EXTI15
Смещение 0x14, адрес 0x4001 0014, 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI15_PF 0110 Порт G (PG15) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI15_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI14_PF 0110 Порт G (PG14) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI14_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI13_PF 0110 Порт G (PG13) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI13_PG - 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) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI12_PF 0110 Порт G (PG12) (только у STM32F303xE, STM32F398) SYSCFG_EXTICR4_EXTI12_PG
SYSCFG_CFGR2 — сигналы аварийного останова таймеров и чётность SRAM
Смещение 0x18, адрес 0x4001 0018, 32 бит, после сброса 0x0000 (при системном сбросе). В коде: SYSCFG->CFGR2.
| 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 |
| — | SRAM_PE | — | BYP_ADDR_PAR | — | PVD_LOCK | SRAM_PARITY_LOCK | LOCKUP_LOCK | ||||||||
- SRAM_PE (бит 8) — Флаг ошибки чётности SRAM; сбрасывается записью 1.
- BYP_ADDR_PAR (бит 4) — Не учитывать бит 29 адреса при проверке чётности SRAM (STM32F303x6/x8, F328).
- PVD_LOCK (бит 2) — Подключение выхода PVD к входу аварийного останова таймеров; снимается только сбросом (только у STM32F303).
- SRAM_PARITY_LOCK (бит 1) — Подключение ошибки чётности SRAM к входу аварийного останова таймеров.
- LOCKUP_LOCK (бит 0) — Подключение сигнала LOCKUP ядра (отказ в обработчике HardFault) к аварийному останову таймеров.
SYSCFG_CFGR4 — переназначение триггеров АЦП (STM32F303xD/xE, F398)
Смещение 0x48, адрес 0x4001 0048, 32 бит, после сброса 0x0000 0000 (при системном сбросе); регистр есть только у STM32F303xE, STM32F398. В коде: SYSCFG->CFGR4.
| 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 |
| — | ADC34_JEXT14_RMP | ADC34_JEXT11_RMP | ADC34_JEXT5_RMP | ADC34_EXT15_RMP | ADC34_EXT6_RMP | ADC34_EXT5_RMP | ADC12_JEXT13_RMP | ADC12_JEXT6_RMP | ADC12_JEXT3_RMP | ADC12_EXT15_RMP | ADC12_EXT13_RMP | ADC12_EXT5_RMP | ADC12_EXT3_RMP | ADC12_EXT2_RMP | |
- ADC34_JEXT14_RMP (бит 13) — Переназначение инжектированного триггера JEXT14 АЦП ADC3/ADC4 (на события TIM20 и др.).
- ADC34_JEXT11_RMP (бит 12) — Переназначение инжектированного триггера JEXT11 АЦП ADC3/ADC4 (на события TIM20 и др.).
- ADC34_JEXT5_RMP (бит 11) — Переназначение инжектированного триггера JEXT5 АЦП ADC3/ADC4 (на события TIM20 и др.).
- ADC34_EXT15_RMP (бит 10) — Переназначение регулярного триггера EXT15 АЦП ADC3/ADC4 (на события TIM20 и др.).
- ADC34_EXT6_RMP (бит 9) — Переназначение регулярного триггера EXT6 АЦП ADC3/ADC4 (на события TIM20 и др.).
- ADC34_EXT5_RMP (бит 8) — Переназначение регулярного триггера EXT5 АЦП ADC3/ADC4 (на события TIM20 и др.).
- ADC12_JEXT13_RMP (бит 7) — Переназначение инжектированного триггера JEXT13 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_JEXT6_RMP (бит 6) — Переназначение инжектированного триггера JEXT6 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_JEXT3_RMP (бит 5) — Переназначение инжектированного триггера JEXT3 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_EXT15_RMP (бит 4) — Переназначение регулярного триггера EXT15 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_EXT13_RMP (бит 3) — Переназначение регулярного триггера EXT13 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_EXT5_RMP (бит 2) — Переназначение регулярного триггера EXT5 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_EXT3_RMP (бит 1) — Переназначение регулярного триггера EXT3 АЦП ADC1/ADC2 (на события TIM20 и др.).
- ADC12_EXT2_RMP (бит 0) — Переназначение регулярного триггера EXT2 АЦП ADC1/ADC2 (на события TIM20 и др.).
SYSCFG_CFGR3 — переназначения DMA (STM32F303x6/x8, F328)
Смещение 0x50, адрес 0x4001 0050, 32 бит, после сброса 0x0000 0200 (при системном сбросе); регистр есть только у STM32F303x8, STM32F328. В коде: SYSCFG->CFGR3.
| 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 |
| — | ADC2_DMA_RMP | I2C1_TX_DMA_RMP | I2C1_RX_DMA_RMP | SPI1_TX_DMA_RMP | SPI1_RX_DMA_RMP | ||||||||||
- ADC2_DMA_RMP (биты 9:8) — Канал DMA1 для запроса ADC2.
- I2C1_TX_DMA_RMP (биты 7:6) — Канал DMA1 для запроса I2C1 TX.
- I2C1_RX_DMA_RMP (биты 5:4) — Канал DMA1 для запроса I2C1 RX.
- SPI1_TX_DMA_RMP (биты 3:2) — Канал DMA1 для запроса SPI1 TX.
- SPI1_RX_DMA_RMP (биты 1:0) — Канал DMA1 для запроса SPI1 RX.
Частые вопросы
Как защитить данные в CCM SRAM STM32F303 от случайной записи?
Установите биты PAGEx в SYSCFG_RCR для нужных страниц по 1 КБ. Снять защиту можно только системным сбросом. У STM32F303xB/xC и F358 CCM SRAM 8 КБ (8 страниц), у F303x6/x8 и F328 — 4 КБ, у F303xD/xE — 16 КБ.
Как подключить PC13 к линии EXTI13?
Включите тактирование SYSCFG и запишите в поле EXTI13 регистра SYSCFG_EXTICR4 значение 2 (порт C): SYSCFG->EXTICR[3] = SYSCFG_EXTICR4_EXTI13_PC. Остальное — в регистрах EXTI.
Источники
- STMicroelectronics. RM0316: Reference manual (Rev 10) — раздел 12.1: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-f3 v2.3.9: заголовки CMSIS stm32f303x8.h, stm32f303xc.h, stm32f303xe.h, stm32f328xx.h, stm32f358xx.h, stm32f398xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32F3
- Все регистры STM32F3Блоки периферии и заголовки CMSIS
- RCC — тактирование и сбросRCC_CR, RCC_CFGR, RCC_CIR, RCC_APB2RSTR, RCC_APB1RSTR, RCC_AHBENR
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR
- EXTI — внешние прерыванияEXTI_IMR1, EXTI_EMR1, EXTI_RTSR1, EXTI_FTSR1, EXTI_SWIER1, EXTI_PR1
- USART — последовательные порты USARTUSART_CR1, USART_CR2, USART_CR3, USART_BRR, USART_GTPR, USART_RTOR
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_TIMINGR, I2C_TIMEOUTR
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- DMA — прямой доступ к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR
- АЦП — аналого-цифровые преобразователиADC_ISR, ADC_IER, ADC_CR, ADC_CFGR, ADC_SMPR1, ADC_SMPR2
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR, IWDG_WINR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — вычислитель CRCCRC_DR, CRC_IDR, CRC_CR, CRC_INIT, CRC_POL
- DBGMCU — отладкаDBGMCU_IDCODE, DBGMCU_CR, DBGMCU_APB1_FZ, DBGMCU_APB2_FZ
- PWR — управление питаниемPWR_CR, PWR_CSR
- FLASH — флеш-памятьFLASH_ACR, FLASH_KEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_CR, FLASH_AR
- RTC — часы реального времениRTC_TR, RTC_DR, RTC_CR, RTC_ISR, RTC_PRER, RTC_WUTR
- ЦАП — цифро-аналоговый преобразовательDAC_CR, DAC_SWTRIGR, DAC_DHR12R1, DAC_DHR12L1, DAC_DHR8R1, DAC_DHR12R2
- CAN — контроллер CANCAN_MCR, CAN_MSR, CAN_TSR, CAN_RF0R, CAN_RF1R, CAN_IER