Микроконтроллеры STM32: распиновки и функции выводов
Назначение каждого вывода микроконтроллеров STM32 в каждом корпусе: схема с подсветкой периферии, номера альтернативных функций и ремап, выводы питания и список микроконтроллеров с тем же расположением выводов. Данные — из открытой базы STMicroelectronics.
- Семейства STM32Сравнение 25 семейств: ядро, частота, память, питание, периферия; выбор под задачу
- Совместимость STM32 по выводамКакие STM32 совпадают по выводам: таблицы отличий для F103, F407, F401, F303, G474, F030, G030
- STM32F0Cortex-M0, до 48 МГц: F030/F070, F031–F091, F042/F072, F0x8 — линейки и распиновкиРаздел
- STM32F1Cortex-M3: F100, F101, F102, F103, F105/107 — линейки и распиновкиРаздел
- STM32F2Cortex-M3 до 120 МГц: F205/F215 и F207/F217 с Ethernet — линейки и распиновкиРаздел
- STM32F3Cortex-M4 с FPU, до 72 МГц: F301–F303, F334, F373 и версии F3x8 на 1,8 В — линейки и распиновкиРаздел
- GPIO STM32Режимы выводов, регистры F1 и F4, BSRR, AF, скорость, токи, 5 В, код
- STM32F4Cortex-M4 с FPU: от F401 и F411 до F429 и F469 — линейки и распиновкиРаздел
- Таймеры STM32Тактирование, PSC/ARR, ШИМ, мёртвое время, захват, энкодер, OPM, синхронизация
- STM32F7Cortex-M7 до 216 МГц: F72x/F73x, F74x/F75x, F76x/F77x — линейки, память, загрузка и распиновкиРаздел
- UART STM32BRR и OVER8, допуск по частоте, флаги, прерывания, DMA с IDLE, полудуплекс, RS-485
- DMA STM32Каналы и потоки, запросы периферии, кольцо, двойной буфер, FIFO, флаги, примеры
- STM32H7Cortex-M7 от 280 до 600 МГц, двухъядерные H745/H747 — линейки, память, загрузка и распиновкиРаздел
- АЦП STM32Группы каналов, режимы, триггеры, DMA, калибровка, датчик температуры, точность
- Прерывания STM32Векторы и IRQn, приоритеты и HAL, EXTI и общие векторы, флаги, события, примеры
- STM32G0Cortex-M0+, до 64 МГц: G030–G0B0 Value line, G031–G0C1 — линейки и распиновкиРаздел
- Flash и загрузчик STM32Страницы и секторы, BOOT0, системный загрузчик, AN3155, IAP, option bytes, RDP
- HAL, LL или регистрыУровни STM32Cube, что делает HAL, правила совмещения, один код тремя способами
- STM32G4Cortex-M4 с FPU, до 170 МГц: G431/G441, G471–G484, G491/G4A1 — линейки и распиновкиРаздел
- STM32C0Cortex-M0+, до 48 МГц: C011, C031, C051, C071, C091, C092 — линейки и распиновкиРаздел
- STM32L0Cortex-M0+, до 32 МГц, малое потребление: L010, L0x1, L0x2 с USB, L0x3 с ЖКИ — линейки и распиновкиРаздел
- STM32L4Cortex-M4 до 80 МГц с режимами низкого потребления: L4x1–L4x6 — линейки, MSI, загрузка и распиновкиРаздел
- STM32L4+Cortex-M4 до 120 МГц, до 640 КБ ОЗУ, LTDC и DSI: L4P5/Q5 и L4R/S — линейки, загрузка и распиновкиРаздел
- STM32L5Cortex-M33 до 110 МГц с TrustZone: STM32L552 и L562 — защита, загрузка, такты ожидания и распиновкиРаздел
- STM32L1Cortex-M3, до 32 МГц, малое потребление: L100, L151, L152 и L162 с ЖКИ и AES — линейки и распиновкиРаздел
- STM32U0Cortex-M0+ до 56 МГц с режимами Stop 2 и Shutdown: U031, U073 и U083 — линейки, загрузка и распиновкиРаздел
- STM32U5Cortex-M33 до 160 МГц с TrustZone и SMPS: от U535 до U5G9 — память, питание, загрузка и распиновкиРаздел
- STM32WBCortex-M4 до 64 МГц и Cortex-M0+ для радио 2,4 ГГц: WB55, WB35, WB15, WB50 и WB30 — ядра, загрузка и распиновкиРаздел
- STM32WBACortex-M33 до 100 МГц с радио 2,4 ГГц: WBA52–WBA55 и WBA62–WBA65 — радио, SMPS, загрузка и распиновкиРаздел
- STM32WLCortex-M4 до 48 МГц с радио LoRa 150–960 МГц: WLE5, WLE4, WL55, WL54 — радио, ядра, загрузка и распиновкиРаздел
- STM32H5Cortex-M33 до 250 МГц с TrustZone: от H503 до H5F5 — память, VOS0–VOS3, жизненный цикл, загрузка и распиновкиРаздел
- STM32U3Cortex-M33 до 96 МГц на технологии near-threshold: U375, U385, U3B5 и U3C5 — память, питание, загрузка и распиновкиРаздел
- STM32WB0Cortex-M0+ до 64 МГц с Bluetooth LE 5.4: WB05, WB06, WB07 и WB09 — память, радио, загрузчик и распиновкиРаздел
- STM32WL3Cortex-M0+ до 64 МГц с радио до 958 МГц: WL30, WL31, WL33 и WL3R — диапазоны, мощность, загрузчик и распиновкиРаздел
- STM32N6Cortex-M55 до 800 МГц с NPU Neural-ART: N645, N647, N655 и N657 — память, загрузка, корпуса VFBGA и распиновкиРаздел
STM32 — 32-битные микроконтроллеры STMicroelectronics на ядрах Arm Cortex-M. Один и тот же кристалл выпускают в нескольких корпусах, и в каждом корпусе на выводы выходит свой набор сигналов, поэтому распиновку смотрят не «для STM32F103», а для конкретного сочетания микроконтроллера и корпуса. В этом разделе у каждого такого сочетания своя страница.
Что есть на странице микроконтроллера
- Схема корпуса — вид сверху с именами выводов. Кнопки над схемой подсвечивают выводы выбранной периферии: USART, SPI, I²C, CAN, USB, АЦП, таймеров, отладки.
- Периферия и её выводы — на какие выводы выходит каждый сигнал, с номером альтернативной функции или пометкой ремапа.
- Таблица выводов — все выводы корпуса по порядку с их функциями.
- Питание, сброс и загрузка — выводы VDD, VSS, VDDA, VBAT, VCAP, NRST, BOOT0 и другие служебные.
- Исполнения — варианты с разным объёмом памяти в том же корпусе и отладочные платы ST на этом микроконтроллере.
- Похожие по выводам — другие STM32 в том же корпусе с тем же расположением выводов и список отличий.
Как читать обозначение STM32
Обозначение складывается из полей. Например, STM32F103C8T6: STM32 — семейство, F — тип (общего назначения), 103 — линейка, C — число выводов, 8 — объём флеш-памяти, T — корпус, 6 — температурный диапазон. В базе STM32CubeMX последнюю цифру заменяет буква x, поэтому та же группа называется STM32F103C8Tx.
Таблицы составлены по самим опубликованным записям: слева код из обозначения, справа — то, чему он соответствует в данных.
| Буква | Выводов |
|---|---|
| J | 8, 72, 73 |
| D | 12, 14, 15 |
| Y | 18 |
| F | 19, 20 |
| E | 24, 25 |
| G | 27, 28 |
| K | 32 |
| T | 36 |
| H | 37, 39, 41, 42 |
| C | 48, 49, 52 |
| N | 52, 56, 216 |
| U | 59, 63 |
| R | 64, 66, 68 |
| M | 80, 81, 88 |
| O | 90 |
| V | 99, 100, 101, 104, 105, 115, 129 |
| W | 115, 126 |
| P | 121 |
| Q | 128, 132 |
| Z | 142, 143, 144, 150, 156 |
| A | 168, 169, 180 |
| I | 176, 178, 201 |
| B | 197, 208 |
| L | 223, 225 |
| X | 264, 265 |
| Код | Флеш-память |
|---|---|
| 3 | 8 КБ |
| 4 | 16 КБ |
| 6 | 32 КБ |
| 8 | 64 КБ |
| B | 128 КБ |
| Z | 192 КБ |
| C | 256 КБ, 320 КБ |
| D | 384 КБ |
| E | 512 КБ |
| Y | 640 КБ |
| F | 768 КБ |
| G | 1 МБ |
| H | 1,5 МБ |
| I | 2 МБ |
| J | 4 МБ |
| Буква | Корпус |
|---|---|
| E | EWLCSP |
| F | WLCSP |
| H | LFBGA, TFBGA, UFBGA, VFBGA |
| I | UFBGA |
| J | UFBGA |
| K | UFBGA |
| M | SO |
| P | TSSOP |
| Q | UFBGA |
| S | LQFP |
| T | LQFP |
| U | UFQFPN, UQFN, VFQFPN |
| V | VFQFPN, VQFPN |
| Y | WLCSP |
| Z | LQFP |
Одна буква числа выводов встречается с двумя значениями, когда у корпусов с выводами по сторонам и у корпусов с шариками разное число контактов: например, 48-выводный LQFP и 49-шариковый WLCSP.
Ремап и альтернативные функции
В семействах STM32 выводы переключаются между портом ввода-вывода и периферией двумя разными способами, и в таблицах раздела это видно по пометкам.
| STM32F1 | остальные семейства | |
|---|---|---|
| Как сигнал попадает на вывод | по умолчанию — на один определённый вывод | через мультиплексор альтернативных функций на каждой линии |
| Чем выбирается | ремап: биты регистров AFIO_MAPR и AFIO_MAPR2 переносят сигналы периферии на другие выводы | номер функции в регистрах GPIOx_AFRL и GPIOx_AFRH: AF0–AF15 у F2, F3, F4, F7, H7, G4, C0, L1, L4, L4+ и L5, AF0–AF7 у F0 и L0, до AF10 у G0 |
| Пометка в таблицах | «ремап» у сигналов, которые доступны только после переноса | номер AF у каждого сигнала |
Аналоговые входы АЦП, выводы генераторов и пробуждения в семействах с мультиплексором не имеют номера AF: они подключаются настройкой самой периферии. У STM32F0, G0 и C0 есть и свой ремап: в маленьких корпусах биты регистра SYSCFG_CFGR1 переключают выводы между линиями PA9/PA10 и PA11/PA12; подробности — на страницах семейств.
Найти микроконтроллер по номеру
Поиск находит страницу по полному заказному номеру — STM32F103C8T6, в том числе с суффиксом упаковки вроде TR, — по названию без префикса (F407VG) и по корпусу (LQFP64).
Семейства STM32 в атласе
У каждого семейства — своя страница со сравнением линеек и полным списком микроконтроллеров по корпусам. Сравнение всех семейств по ядру, частоте, памяти, питанию и периферии и подсказки, какое выбрать под задачу, — на странице «Семейства STM32: как выбрать».
| Семейство | Ядро, частота | Линейки | Страниц |
|---|---|---|---|
| STM32F1 | Cortex-M3, 24 – 72 МГц | STM32F100, STM32F101, STM32F102, STM32F103, STM32F105/107 | 58 |
| STM32F4 | Cortex-M4, 84 – 180 МГц | STM32F401, STM32F405/415, STM32F407/417, STM32F410, STM32F411, STM32F412, STM32F413/423, STM32F427/437, STM32F429/439, STM32F446, STM32F469/479 | 116 |
| STM32F0 | Cortex-M0, 48 МГц | STM32F030, STM32F031, STM32F038, STM32F042, STM32F048, STM32F051, STM32F058, STM32F070, STM32F071, STM32F072, STM32F078, STM32F091, STM32F098 | 89 |
| STM32G0 | Cortex-M0+, 64 МГц | STM32G030, STM32G031, STM32G041, STM32G050, STM32G051, STM32G061, STM32G070, STM32G071, STM32G081, STM32G0B0, STM32G0B1, STM32G0C1 | 98 |
| STM32C0 | Cortex-M0+, 48 МГц | STM32C011, STM32C031, STM32C051, STM32C071, STM32C091, STM32C092 | 84 |
| STM32F3 | Cortex-M4, 72 МГц | STM32F301, STM32F302, STM32F303, STM32F318, STM32F328, STM32F334, STM32F358, STM32F373, STM32F378, STM32F398 | 53 |
| STM32G4 | Cortex-M4, 170 МГц | STM32G431, STM32G441, STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1 | 86 |
| STM32L0 | Cortex-M0+, 32 МГц | STM32L010, STM32L011, STM32L021, STM32L031, STM32L041, STM32L051, STM32L052, STM32L053, STM32L062, STM32L063, STM32L071, STM32L072, STM32L073, STM32L081, STM32L082, STM32L083 | 113 |
| STM32L1 | Cortex-M3, 32 МГц | STM32L100, STM32L151/152, STM32L162 | 90 |
| STM32F2 | Cortex-M3, 120 МГц | STM32F205, STM32F207, STM32F215, STM32F217 | 16 |
| STM32F7 | Cortex-M7, 216 МГц | STM32F722, STM32F723, STM32F730, STM32F732, STM32F733, STM32F745, STM32F746, STM32F750, STM32F756, STM32F765, STM32F767, STM32F768, STM32F769, STM32F777, STM32F778, STM32F779 | 92 |
| STM32H7 | Cortex-M7, Cortex-M7 + Cortex-M4, 280 – 600 МГц | STM32H723/733, STM32H725/735, STM32H730 Value line, STM32H742, STM32H743/753, STM32H745/755, STM32H747/757, STM32H750 Value line, STM32H7A3/7B3, STM32H7B0 Value line, STM32H7R3/7S3, STM32H7R7/7S7 | 175 |
| STM32L4 | Cortex-M4, 80 МГц | STM32L412, STM32L422, STM32L431, STM32L432, STM32L433, STM32L442, STM32L443, STM32L451, STM32L452, STM32L462, STM32L471, STM32L475, STM32L476, STM32L485, STM32L486, STM32L496, STM32L4A6 | 129 |
| STM32L4+ | Cortex-M4, 120 МГц | STM32L4P5/Q5, STM32L4R5/S5, STM32L4R7/S7, STM32L4R9/S9 | 64 |
| STM32L5 | Cortex-M33, 110 МГц | STM32L552, STM32L562 | 32 |
| STM32U5 | Cortex-M33, 160 МГц | STM32U535, STM32U545, STM32U575/585, STM32U595, STM32U595/5A5, STM32U599, STM32U599/5A9, STM32U5A5, STM32U5A9, STM32U5F7/5G7, STM32U5F9/5G9 | 162 |
| STM32U0 | Cortex-M0+, 56 МГц | STM32U031, STM32U073, STM32U083 | 48 |
| STM32WB | Cortex-M4, 64 МГц | STM32WBx0, STM32WBx5 | 20 |
| STM32WBA | Cortex-M33, 100 МГц | STM32WBAx0, STM32WBAx2, STM32WBAx3, STM32WBAx4, STM32WBAx5 | 37 |
| STM32WL | Cortex-M4 + Cortex-M0+, Cortex-M4, 48 МГц | STM32WL5x, STM32WLEx | 16 |
| STM32H5 | Cortex-M33, 250 МГц | STM32H503, STM32H523, STM32H533, STM32H543, STM32H553, STM32H562, STM32H563, STM32H563/H573, STM32H573, STM32H5E4, STM32H5E5, STM32H5F4, STM32H5F5 | 140 |
| STM32U3 | Cortex-M33 | STM32U375, STM32U385, STM32U3B5, STM32U3C5 | 93 |
| STM32WB0 | Cortex-M0+ | STM32WBx5, STM32WBx6, STM32WBx7, STM32WBx9 | 10 |
| STM32WL3 | Cortex-M0+ | STM32WL3R, STM32WLx0, STM32WLx1, STM32WLx3 | 14 |
| STM32N6 | Cortex-M55, 800 МГц | STM32N645, STM32N647, STM32N655, STM32N657 | 28 |
Периферия STM32: статьи и регистры
Как работать с периферией на регистрах, по справочным руководствам RM0008 и RM0090 и даташитам STM32F103 и STM32F407: GPIO — режимы выводов, токи и входы 5 В; таймеры — ШИМ, мёртвое время, захват и энкодер; UART — скорость, допуск по частоте и приём по DMA; DMA — каналы, потоки и FIFO; АЦП — режимы, калибровка и датчик температуры; прерывания — NVIC и EXTI; Flash и загрузчик — запись, BOOT0 и защита; HAL, LL или регистры — что выбрать. Поля всех регистров с кодом на C — на страницах регистров STM32F0, STM32F1, STM32F4 и STM32G0.
Тактирование
Частоты ядра и шин считают в калькуляторе тактирования STM32: он подбирает настройки PLL для STM32F0, F1, F3, F4 и G0 по их справочным руководствам, ставит такты ожидания флеш-памяти и выдаёт код инициализации на регистрах. От полученных частот считают делители в калькуляторе таймера, скорость в калькуляторе UART и регистр I2C_TIMINGR для I²C у STM32F0 и G0 — в калькуляторе I2C_TIMINGR.
Источник данных
Данные раздела — открытый набор STM32_open_pin_data компании STMicroelectronics: STM32CubeMX 6.18.0, коммит 7d1f1514ed от 2026-06-29. Набор распространяется под лицензией BSD-3-Clause; её текст и сведения о преобразовании данных — на странице «Лицензии и источники данных». Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём же указаны допустимые напряжения, токи и номиналы внешних компонентов.
Частые вопросы
Что означает буква x в обозначении вроде STM32F103C8Tx?
Так группы микроконтроллеров названы в базе STM32CubeMX: x стоит на месте цифры температурного диапазона в заказном номере. У STM32F103C8T это 6 (−40…+85 °C) или 7 (−40…+105 °C), то есть STM32F103C8T6 и STM32F103C8T7. Диапазоны других линеек приведены в разделе Ordering information их даташитов.
Чем ремап у STM32F1 отличается от альтернативных функций у STM32F4?
У STM32F1 сигнал периферии по умолчанию выходит на один определённый вывод, а часть сигналов можно перенести на другие выводы битами регистров AFIO_MAPR и AFIO_MAPR2 — это и есть ремап. У STM32F4 каждая линия ввода-вывода сама выбирает одну из альтернативных функций AF0–AF15: её номер записывают в регистры GPIOx_AFRL и GPIOx_AFRH.
Откуда взяты данные о выводах?
Из набора STM32_open_pin_data, который STMicroelectronics публикует под лицензией BSD-3-Clause: это открытая часть базы программы STM32CubeMX. Мы преобразуем его в таблицы и схемы корпусов; версия базы указана на каждой странице.
Можно ли заменить один STM32 другим в том же корпусе?
По расположению выводов — часто да. На странице каждого микроконтроллера есть список STM32 в том же корпусе, у которых совпадает не меньше 90 % выводов, с перечнем отличий. Совпадение выводов ещё не означает совместимости: по даташитам проверяют питание, выводы VCAP, набор периферии и её регистры.
Почему в списке нет моего микроконтроллера?
Раздел пополняется семействами. Сейчас опубликованы STM32F0, F1, F2, F3, F4, F7, H5, H7, G0, G4, C0, L0, L1, L4, L4+, L5, N6, U0, U3, U5, WB, WB0, WBA, WL и WL3; остальные добавляются по мере проверки данных и отрисовки корпусов.
Смотрите также
- ARM Cortex-MЯдра M0–M85: архитектуры, FPU, DSP, MPU, TrustZone, выбор
- Cortex-M3Регистры, карта памяти, bit-banding, NVIC, SysTick, MPU, старт, пример
- JTAG и SWDARM JTAG 20, Cortex Debug 10, STDC14, ST-LINK
- Тактирование STM32PLL под нужную частоту, шины, флеш-память, регистры RCC и код
- I2C_TIMINGR STM32PRESC, SCLL, SCLH, SDADEL и SCLDEL по частоте I2CCLK и фронтам
- Таймер AVR и STM32Предделитель, OCRnA, PSC и ARR под частоту, мёртвое время, энкодер
- Скорость UARTUBRR, BRR, TH1 и ошибка скорости
- Конденсаторы для кварцаC1 и C2 по CL, запас генерации, уход частоты