Регистры STM32F4
Регистры периферии STM32F405, F407, F415, F417 и STM32F427/429/437/439: адреса блоков, битовые поля с назначением, значения после сброса по RM0090 и конструктор значения с кодом на C.
Источник — заголовки CMSIS пакета STM32CubeF4 (Apache-2.0): структуры периферии, адреса экземпляров и макросы полей. В этой волне — восемь заголовков, которые описывает справочное руководство RM0090. Остальные линии STM32F4 (F401, F410, F411, F412, F413, F446, F469) описаны в собственных руководствах и появятся следующими.
Где руководство даёт разные значения для STM32F405/407/415/417 и для STM32F42x/43x, страница показывает оба. Поля, которых нет у части микроконтроллеров, отмечены.
Блоки периферии
- RCC — сброс и тактированиеRCC_CR, RCC_PLLCFGR, RCC_CFGR, RCC_CIR, RCC_AHB1RSTR, RCC_AHB2RSTR, RCC_AHB3RSTR, RCC_APB1RSTR, RCC_APB2RSTR, RCC_AHB1ENR, RCC_AHB2ENR, RCC_AHB3ENR, RCC_APB1ENR, RCC_APB2ENR, RCC_AHB1LPENR, RCC_AHB2LPENR, RCC_AHB3LPENR, RCC_APB1LPENR, RCC_APB2LPENR, RCC_BDCR, RCC_CSR, RCC_SSCGR, RCC_PLLI2SCFGR, RCC_PLLSAICFGR, RCC_DCKCFGR
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR, GPIOx_BSRR, GPIOx_LCKR, GPIOx_AFRL, GPIOx_AFRH
- SYSCFG — системная конфигурацияSYSCFG_MEMRMP, SYSCFG_PMC, SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_EXTICR4, SYSCFG_CMPCR
- 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, USART_GTPR
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR, SPI_TXCRCR, SPI_I2SCFGR, SPI_I2SPR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_DR, I2C_SR1, I2C_SR2, I2C_CCR, I2C_TRISE, I2C_FLTR
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR, TIMx_CCMR1, TIMx_CCMR2, TIMx_CCER, TIMx_CNT, TIMx_PSC, TIMx_ARR, TIMx_RCR, TIMx_CCR1, TIMx_CCR2, TIMx_CCR3, TIMx_CCR4, TIMx_BDTR, TIMx_DCR, TIMx_DMAR, TIMx_OR
- DMA — контроллеры прямого доступа к памятиDMA_LISR, DMA_HISR, DMA_LIFCR, DMA_HIFCR, DMA_SxCR, DMA_SxNDT, DMA_SxPAR, DMA_SxM0AR, DMA_SxM1AR, DMA_SxFCR
- ADC — аналого-цифровые преобразователиADC_SR, ADC_CR1, ADC_CR2, ADC_SMPR1, ADC_SMPR2, ADC_JOFR1, ADC_JOFR2, ADC_JOFR3, ADC_JOFR4, ADC_HTR, ADC_LTR, ADC_SQR1, ADC_SQR2, ADC_SQR3, ADC_JSQR, ADC_JDR1, ADC_JDR2, ADC_JDR3, ADC_JDR4, ADC_DR, ADC_CSR, ADC_CCR, ADC_CDR
- 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
Заголовки CMSIS и микроконтроллеры
| Заголовок | Микроконтроллеры |
|---|---|
| stm32f405xx.h | STM32F405RG, STM32F405VG, STM32F405ZG |
| stm32f407xx.h | STM32F407IE, STM32F407IG, STM32F407VE, STM32F407VG, STM32F407ZE, STM32F407ZG |
| stm32f415xx.h | STM32F415RG, STM32F415VG, STM32F415ZG |
| stm32f417xx.h | STM32F417IE, STM32F417IG, STM32F417VE, STM32F417VG, STM32F417ZE, STM32F417ZG |
| stm32f427xx.h | STM32F427IG, STM32F427II, STM32F427VG, STM32F427VI, STM32F427ZG, STM32F427ZI |
| stm32f429xx.h | STM32F429BG, STM32F429BI, STM32F429IG, STM32F429II, STM32F429NG, STM32F429VG, STM32F429VI, STM32F429ZG, STM32F429ZI, STM32F439NI |
| stm32f437xx.h | STM32F437IG, STM32F437II, STM32F437VG, STM32F437VI, STM32F437ZG, STM32F437ZI |
| stm32f439xx.h | STM32F439BG, STM32F439BI, STM32F439IG, STM32F439II, STM32F439NG, STM32F439NI, STM32F439VG, STM32F439VI, STM32F439ZG, STM32F439ZI |
Карта микроконтроллеров семейства с распиновками — на странице STM32F4.
Частые вопросы
Чем регистры STM32F4 отличаются от STM32F1?
Сильнее всего — портами: у STM32F4 режим, тип выхода, скорость и подтяжка вывода заданы в отдельных регистрах MODER, OTYPER, OSPEEDR и PUPDR, а альтернативная функция выбирается номером AF в AFRL и AFRH. Блок AFIO заменил SYSCFG, а тактирование портов перешло на шину AHB1 (RCC_AHB1ENR).
Какой заголовок CMSIS нужен для STM32F407VG?
stm32f407xx.h: в семействе STM32F4 заголовок один на линию, без деления по объёму памяти.
Источники
- STMicroelectronics. RM0090: Reference manual (Rev 22) — описания регистров, назначение полей и значения после сброса
- 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
Нашли ошибку в регистрах?