Регистры STM32G4
Регистры периферии STM32G431, G441, G471, G473, G474, G483, G484, G491 и G4A1: адреса блоков, битовые поля с назначением, значения после сброса по RM0440 и конструктор значения с кодом на C.
Источник — заголовки CMSIS STMicroelectronics (cmsis-device-g4, Apache-2.0): девять заголовков, которые описывает RM0440, от stm32g431xx.h до stm32g4a1xx.h. STM32G411 и G414 из того же репозитория пока без даташитов и страниц продукта и в волну не входят. Значения после сброса — по RM0440; у флеш-памяти они даны по категориям 2, 3 и 4.
Поля, которых нет у части микроконтроллеров, отмечены. Где заголовок расходится с руководством и SVD ST — мониторы PVM в PWR, бит HFSEL в DAC_CR, SWRST в I2C_CR1, — страницы следуют руководству. Сложные блоки FDCAN, HRTIM, UCPD, USB, SAI, QUADSPI, FMC, AES, компараторы, ОУ и VREFBUF пока без страниц.
Блоки периферии
- RCC — тактирование и сбросRCC_CR, RCC_ICSCR, RCC_CFGR, RCC_PLLCFGR, RCC_CIER, RCC_CIFR, RCC_CICR, RCC_AHB1RSTR, RCC_AHB2RSTR, RCC_AHB3RSTR, RCC_APB1RSTR1, RCC_APB1RSTR2, RCC_APB2RSTR, RCC_AHB1ENR, RCC_AHB2ENR, RCC_AHB3ENR, RCC_APB1ENR1, RCC_APB1ENR2, RCC_APB2ENR, RCC_AHB1SMENR, RCC_AHB2SMENR, RCC_AHB3SMENR, RCC_APB1SMENR1, RCC_APB1SMENR2, RCC_APB2SMENR, RCC_CCIPR, RCC_BDCR, RCC_CSR, RCC_CRRCR, RCC_CCIPR2
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR, GPIOx_BSRR, GPIOx_LCKR, GPIOx_AFRL, GPIOx_AFRH, GPIOx_BRR
- SYSCFG — системная конфигурацияSYSCFG_MEMRMP, SYSCFG_CFGR1, SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_EXTICR4, SYSCFG_SCSR, SYSCFG_CFGR2, SYSCFG_SWPR, SYSCFG_SKR
- EXTI — внешние прерыванияEXTI_IMR1, EXTI_EMR1, EXTI_RTSR1, EXTI_FTSR1, EXTI_SWIER1, EXTI_PR1, EXTI_IMR2, EXTI_EMR2, EXTI_RTSR2, EXTI_FTSR2, EXTI_SWIER2, EXTI_PR2
- USART — последовательные порты USART и LPUARTUSART_CR1, USART_CR2, USART_CR3, USART_BRR, USART_GTPR, USART_RTOR, USART_RQR, USART_ISR, USART_ICR, USART_RDR, USART_TDR, USART_PRESC
- 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_TIMINGR, I2C_TIMEOUTR, I2C_ISR, I2C_ICR, I2C_PECR, I2C_RXDR, I2C_TXDR
- 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_CCR5, TIMx_CCR6, TIMx_CCMR3, TIMx_DTR2, TIMx_ECR, TIMx_TISEL, TIMx_DCR, TIMx_DMAR
- LPTIM — маломощный таймерLPTIM_ISR, LPTIM_ICR, LPTIM_IER, LPTIM_CFGR, LPTIM_CR, LPTIM_CMP, LPTIM_ARR, LPTIM_CNT
- DMA — прямой доступ к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR, DMAMUX_CxCR, DMAMUX_CSR, DMAMUX_CFR, DMAMUX_RGxCR, DMAMUX_RGSR, DMAMUX_RGCFR
- АЦП — аналого-цифровые преобразователиADC_ISR, ADC_IER, ADC_CR, ADC_CFGR, ADC_CFGR2, ADC_SMPR1, ADC_SMPR2, ADC_TR1, ADC_TR2, ADC_TR3, ADC_SQR1, ADC_SQR2, ADC_SQR3, ADC_SQR4, ADC_DR, ADC_JSQR, ADC_OFR1, ADC_OFR2, ADC_OFR3, ADC_OFR4, ADC_JDR1, ADC_JDR2, ADC_JDR3, ADC_JDR4, ADC_AWD2CR, ADC_AWD3CR, ADC_DIFSEL, ADC_CALFACT, ADC_GCOMP, ADC_CSR, ADC_CCR, ADC_CDR
- 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_APB1FZR1, DBGMCU_APB1FZR2, DBGMCU_APB2FZR
- PWR — управление питаниемPWR_CR1, PWR_CR2, PWR_CR3, PWR_CR4, PWR_SR1, PWR_SR2, PWR_SCR, PWR_PUCRA, PWR_PDCRA, PWR_PUCRB, PWR_PDCRB, PWR_PUCRC, PWR_PDCRC, PWR_PUCRD, PWR_PDCRD, PWR_PUCRE, PWR_PDCRE, PWR_PUCRF, PWR_PDCRF, PWR_PUCRG, PWR_PDCRG, PWR_CR5
- FLASH — флеш-памятьFLASH_ACR, FLASH_PDKEYR, FLASH_KEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_CR, FLASH_ECCR, FLASH_OPTR, FLASH_PCROP1SR, FLASH_PCROP1ER, FLASH_WRP1AR, FLASH_WRP1BR, FLASH_PCROP2SR, FLASH_PCROP2ER, FLASH_WRP2AR, FLASH_WRP2BR, FLASH_SEC1R, FLASH_SEC2R
- RTC — часы реального времени и вмешательствоRTC_TR, RTC_DR, RTC_SSR, RTC_ICSR, RTC_PRER, RTC_WUTR, RTC_CR, RTC_WPR, RTC_CALR, RTC_SHIFTR, RTC_TSTR, RTC_TSDR, RTC_TSSSR, RTC_ALRMAR, RTC_ALRMASSR, RTC_ALRMBR, RTC_ALRMBSSR, RTC_SR, RTC_MISR, RTC_SCR, TAMP_CR1, TAMP_CR2, TAMP_FLTCR, TAMP_IER, TAMP_SR, TAMP_MISR, TAMP_SCR, TAMP_BKP0R, TAMP_BKP1R, TAMP_BKP2R, TAMP_BKP3R, TAMP_BKP4R, TAMP_BKP5R, TAMP_BKP6R, TAMP_BKP7R, TAMP_BKP8R, TAMP_BKP9R, TAMP_BKP10R, TAMP_BKP11R, TAMP_BKP12R, TAMP_BKP13R, TAMP_BKP14R, TAMP_BKP15R, TAMP_BKP16R, TAMP_BKP17R, TAMP_BKP18R, TAMP_BKP19R, TAMP_BKP20R, TAMP_BKP21R, TAMP_BKP22R, TAMP_BKP23R, TAMP_BKP24R, TAMP_BKP25R, TAMP_BKP26R, TAMP_BKP27R, TAMP_BKP28R, TAMP_BKP29R, TAMP_BKP30R, TAMP_BKP31R
- ЦАП — цифро-аналоговые преобразователиDAC_CR, DAC_SWTRIGR, DAC_DHR12R1, DAC_DHR12L1, DAC_DHR8R1, DAC_DHR12R2, DAC_DHR12L2, DAC_DHR8R2, DAC_DHR12RD, DAC_DHR12LD, DAC_DHR8RD, DAC_DOR1, DAC_DOR2, DAC_SR, DAC_CCR, DAC_MCR, DAC_SHSR1, DAC_SHSR2, DAC_SHHR, DAC_SHRR, DAC_STR1, DAC_STR2, DAC_STMODR
- CORDIC — сопроцессор тригонометрии CORDICCORDIC_CSR, CORDIC_WDATA, CORDIC_RDATA
- FMAC — фильтровый ускоритель FMACFMAC_X1BUFCFG, FMAC_X2BUFCFG, FMAC_YBUFCFG, FMAC_PARAM, FMAC_CR, FMAC_SR, FMAC_WDATA, FMAC_RDATA
Заголовки CMSIS и микроконтроллеры
| Заголовок | Микроконтроллеры |
|---|---|
| stm32g431xx.h | STM32G431xx |
| stm32g441xx.h | STM32G441xx |
| stm32g471xx.h | STM32G471xx |
| stm32g473xx.h | STM32G473xx |
| stm32g474xx.h | STM32G474xx |
| stm32g483xx.h | STM32G483xx |
| stm32g484xx.h | STM32G484xx |
| stm32g491xx.h | STM32G491xx |
| stm32g4a1xx.h | STM32G4A1xx |
Карта микроконтроллеров семейства с распиновками — на странице STM32G4.
Частые вопросы
Какой заголовок CMSIS нужен для STM32G474RET6?
stm32g474xx.h: в STM32G4 заголовок один на линейку. Подключают его через stm32g4xx.h с макросом STM32G474xx.
Что такое категории STM32G4?
Группы по объёму флеш-памяти и набору периферии в RM0440: категория 2 — G431 и G441 (до 128 КБ), категория 3 — G471, G473, G474, G483 и G484 (до 512 КБ в двух банках), категория 4 — G491 и G4A1 (до 512 КБ в одном банке). У каждой своя глава флеш-памяти.
Источники
- STMicroelectronics. RM0440: Reference manual (Rev 9) — описания регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-g4 v1.2.6: заголовки CMSIS stm32g431xx.h, stm32g441xx.h, stm32g471xx.h, stm32g473xx.h, stm32g474xx.h, stm32g483xx.h, stm32g484xx.h, stm32g491xx.h, stm32g4a1xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?