Регистры STM32L1
Регистры периферии STM32L1 — STM32L100, L151, L152 и L162 всех категорий: адреса блоков, битовые поля с назначением, значения после сброса по RM0038 и конструктор значения с кодом на C.
Источник — заголовки CMSIS STMicroelectronics (репозиторий cmsis-device-l1, Apache-2.0): двадцать два заголовка от stm32l100xb.h до stm32l162xe.h — по линейкам и категориям памяти, включая варианты -A и -X. Все они описаны одним справочным руководством RM0038, и страница блока объединяет их: поле, которого нет у части микроконтроллеров, отмечено.
Значения после сброса, назначение полей и смысл значений — по RM0038 Rev 18. Блоки ЖК-индикатора, компараторов, ОУ, RI, AES, USB, FSMC и SDIO пока без страниц.
Блоки периферии
- RCC — тактирование и сбросRCC_CR, RCC_ICSCR, RCC_CFGR, RCC_CIR, RCC_AHBRSTR, RCC_APB2RSTR, RCC_APB1RSTR, RCC_AHBENR, RCC_APB2ENR, RCC_APB1ENR, RCC_AHBLPENR, RCC_APB2LPENR, RCC_APB1LPENR, RCC_CSR
- 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_PMC, SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_EXTICR4
- 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
- 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_CCR1, TIMx_CCR2, TIMx_CCR3, TIMx_CCR4, TIMx_DCR, TIMx_DMAR
- DMA — контроллеры прямого доступа к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR
- АЦП — аналого-цифровой преобразовательADC_SR, ADC_CR1, ADC_CR2, ADC_SMPR1, ADC_SMPR2, ADC_SMPR3, ADC_JOFR1, ADC_JOFR2, ADC_JOFR3, ADC_JOFR4, ADC_HTR, ADC_LTR, ADC_SQR1, ADC_SQR2, ADC_SQR3, ADC_SQR4, ADC_SQR5, ADC_JSQR, ADC_JDR1, ADC_JDR2, ADC_JDR3, ADC_JDR4, ADC_DR, ADC_SMPR0, ADC_CSR, ADC_CCR
- 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
- PWR — управление питаниемPWR_CR, PWR_CSR
- FLASH — интерфейс флеш-памяти и EEPROMFLASH_ACR, FLASH_PECR, FLASH_PDKEYR, FLASH_PEKEYR, FLASH_PRGKEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_OBR, FLASH_WRPR1, FLASH_WRPR2, FLASH_WRPR3, FLASH_WRPR4
- RTC — часы реального времениRTC_TR, RTC_DR, RTC_CR, RTC_ISR, RTC_PRER, RTC_WUTR, RTC_CALIBR, RTC_ALRMAR, RTC_ALRMBR, RTC_WPR, RTC_SSR, RTC_SHIFTR, RTC_TSTR, RTC_TSDR, RTC_TSSSR, RTC_CALR, RTC_TAFCR, RTC_ALRMASSR, RTC_ALRMBSSR, RTC_BKP0R, RTC_BKP1R, RTC_BKP2R, RTC_BKP3R, RTC_BKP4R, RTC_BKP5R, RTC_BKP6R, RTC_BKP7R, RTC_BKP8R, RTC_BKP9R, RTC_BKP10R, RTC_BKP11R, RTC_BKP12R, RTC_BKP13R, RTC_BKP14R, RTC_BKP15R, RTC_BKP16R, RTC_BKP17R, RTC_BKP18R, RTC_BKP19R, RTC_BKP20R, RTC_BKP21R, RTC_BKP22R, RTC_BKP23R, RTC_BKP24R, RTC_BKP25R, RTC_BKP26R, RTC_BKP27R, RTC_BKP28R, RTC_BKP29R, RTC_BKP30R, RTC_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
Заголовки CMSIS и микроконтроллеры
| Заголовок | Микроконтроллеры |
|---|---|
| stm32l100xb.h | STM32L100C6, STM32L100R8, STM32L100RB |
| stm32l100xba.h | STM32L100C6-A, STM32L100R8-A, STM32L100RB-A |
| stm32l100xc.h | STM32L100RC |
| stm32l151xb.h | STM32L151C6, STM32L151C8, STM32L151CB, STM32L151R6, STM32L151R8, STM32L151RB, STM32L151V8, STM32L151VB |
| stm32l151xba.h | STM32L151C6-A, STM32L151C8-A, STM32L151CB-A, STM32L151R6-A, STM32L151R8-A, STM32L151RB-A, STM32L151V8-A, STM32L151VB-A |
| stm32l151xc.h | STM32L151CC, STM32L151RC, STM32L151UC, STM32L151VC |
| stm32l151xca.h | STM32L151QC, STM32L151RC-A, STM32L151VC-A, STM32L151ZC |
| stm32l151xd.h | STM32L151QD, STM32L151RD, STM32L151VD, STM32L151ZD |
| stm32l151xdx.h | STM32L151VD-X |
| stm32l151xe.h | STM32L151QE, STM32L151RE, STM32L151VE, STM32L151ZE |
| stm32l152xb.h | STM32L152C6, STM32L152C8, STM32L152CB, STM32L152R6, STM32L152R8, STM32L152RB, STM32L152V8, STM32L152VB |
| stm32l152xba.h | STM32L152C6-A, STM32L152C8-A, STM32L152CB-A, STM32L152R6-A, STM32L152R8-A, STM32L152RB-A, STM32L152V8-A, STM32L152VB-A |
| stm32l152xc.h | STM32L152CC, STM32L152RC, STM32L152UC, STM32L152VC |
| stm32l152xca.h | STM32L152QC, STM32L152RC-A, STM32L152VC-A, STM32L152ZC |
| stm32l152xd.h | STM32L152QD, STM32L152RD, STM32L152VD, STM32L152ZD |
| stm32l152xdx.h | STM32L152VD-X |
| stm32l152xe.h | STM32L152QE, STM32L152RE, STM32L152VE, STM32L152ZE |
| stm32l162xc.h | STM32L162RC, STM32L162VC |
| stm32l162xca.h | STM32L162QC, STM32L162RC-A, STM32L162VC-A, STM32L162ZC |
| stm32l162xd.h | STM32L162QD, STM32L162RD, STM32L162VD, STM32L162ZD |
| stm32l162xdx.h | STM32L162VD-X |
| stm32l162xe.h | STM32L162RE, STM32L162VE, STM32L162ZE |
Карта микроконтроллеров семейства с распиновками — на странице STM32L1.
Частые вопросы
Какой заголовок CMSIS нужен для STM32L152RE?
stm32l152xe.h. В STM32L1 заголовок выбирают по линейке и категории памяти: xb, xba, xc, xca, xd, xdx и xe; макрос — STM32L152xE.
Чем регистры STM32L1 отличаются от STM32F1?
Порты — как у STM32F4 (MODER, AFR), вместо AFIO — SYSCFG, флеш-память совмещена с EEPROM данных и разблокируется ключами FLASH_PECR, АЦП тактируется от HSI. USART, I2C, SPI, таймеры общего назначения и DMA — те же блоки, что у STM32F1/F4.
Источники
- STMicroelectronics. RM0038: Reference manual (Rev 18) — описания регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-l1 v2.3.4: заголовки CMSIS stm32l100xb.h, stm32l100xba.h, stm32l100xc.h, stm32l151xb.h, stm32l151xba.h, stm32l151xc.h, stm32l151xca.h, stm32l151xd.h, stm32l151xdx.h, stm32l151xe.h, stm32l152xb.h, stm32l152xba.h, stm32l152xc.h, stm32l152xca.h, stm32l152xd.h, stm32l152xdx.h, stm32l152xe.h, stm32l162xc.h, stm32l162xca.h, stm32l162xd.h, stm32l162xdx.h, stm32l162xe.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах? ·