Embedded HandbookПриложения
Все разделы › Приложения
STM32F103, STM32F407, STM32F401 · уровень справочник · 7 мин чтения
Открыть в интерактивном справочнике

Приложение E. Распиновки плат

Три платы, на которых написан справочник: BluePill (F103), Nucleo‑64 (F401/F411 и другие в том же корпусе) и Discovery F407. Для каждой — что куда заведено на самой плате: светодиоды, кнопки, кварцы, USB, и какие выводы поэтому заняты.

Все обозначения — как на шелкографии платы. Альтернативные функции выводов — из справочного руководства, здесь только те, что важны для проектов из каталога (раздел 38).


E.1 BluePill — STM32F103C8T6

Распиновка BluePill

На плате Вывод Примечание
светодиод PC13 PC13 катодом к выводу: 0 — горит, 1 — погашен; ток вывода мал, не нагружать
кварц HSE PD0/PD1 8 МГц; выводы заняты
кварц LSE PC14/PC15 32 768 Гц, место под него; при использовании — слабые выводы
USB PA11 D−, PA12 D+ подтяжка D+ на плате часто не 1,5 кОм (раздел 20)
отладка PA13 SWDIO, PA14 SWCLK четырёхштырьковый разъём; PB3/PB4/PA15 после сброса заняты JTAG — освобождают, отключив JTAG (ниже)
загрузка BOOT0, BOOT1 (PB2) перемычки; BOOT0 = 1 — загрузчик по UART1
сброс NRST кнопка
питание 5V, 3.3, GND, VBAT стабилизатор на плате слабый — ленты и модули от отдельного источника

Занятые и условно занятые: PC13–PC15 (светодиод, LSE), PD0/PD1 (HSE), PA11/PA12 (USB), PA13/PA14 (SWD), PB2 (BOOT1). Свободных линий общего назначения — 27, но три из них сначала надо освободить.

PB3, PB4 и PA15 после сброса отданы JTAG — JTDO, NJTRST и JTDI, даже если подключён только SWD. Классическая ловушка BluePill: «PB3 и PB4 не работают как выходы». Обычными выводами они станут, если отключить JTAG, оставив SWD:

RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
AFIO->MAPR = (AFIO->MAPR & ~AFIO_MAPR_SWJ_CFG) | AFIO_MAPR_SWJ_CFG_JTAGDISABLE;

Толерантные к 5 В (FT в даташите): PA8–PA15, PB2–PB4, PB6–PB15. Без допуска 5 В — PA0–PA7, PB0, PB1, PB5 и PC13–PC15. Для входов от 5-вольтовой логики — только толерантные, и без включённой подтяжки вверх.

Шины по умолчанию:

Блок Выводы
USART1 PA9 TX, PA10 RX
USART2 PA2 TX, PA3 RX
USART3 PB10 TX, PB11 RX
I2C1 PB6 SCL, PB7 SDA (ремап: PB8/PB9)
I2C2 PB10 SCL, PB11 SDA
SPI1 PA5 SCK, PA6 MISO, PA7 MOSI, PA4 NSS
SPI2 PB13 SCK, PB14 MISO, PB15 MOSI, PB12 NSS
CAN PA11 RX, PA12 TX — общие с USB
ADC1 PA0–PA7, PB0, PB1 (каналы 0–9)
TIM1 PA8–PA11 каналы 1–4
TIM2 PA0–PA3
TIM3 PA6, PA7, PB0, PB1
TIM4 PB6–PB9

E.2 Nucleo‑64 — STM32F401RE / F411RE

Распиновка Nucleo-64: разъёмы Arduino

Плата с двумя рядами разъёмов: внутренний в стиле Arduino (CN5–CN9) и внешний Morpho (CN7, CN10) со всеми выводами кристалла. Отладчик ST‑Link на плате, виртуальный COM‑порт заведён на USART2.

На плате Вывод Примечание
светодиод LD2 (зелёный) PA5 анодом к выводу: 1 — горит; он же D13 и SPI1_SCK
кнопка B1 (синяя) PC13 нажатие — низкий уровень; подтяжка на плате
виртуальный COM‑порт PA2 TX, PA3 RX USART2 через ST‑Link; не занимать под другое
кварц HSE PF0/PF1 (PH0/PH1) на многих ревизиях не распаян: такт от MCO ST‑Link 8 МГц
кварц LSE PC14/PC15 32 768 Гц распаян
отладка PA13, PA14 через ST‑Link; PB3 — SWO
сброс NRST кнопка B2

⚠️ HSE на Nucleo — не кварц, а сигнал от отладчика. По умолчанию перемычки настроены так, что OSC_IN получает 8 МГц с MCO микросхемы ST‑Link. Значит, в настройках RCC (раздел 6) выбирается внешний сигнал, не кварц (режим bypass), иначе PLL не запустится. И при отключённом отладчике такта не будет — только HSI.

Разъёмы Arduino

Метка Вывод Функции
D0 PA3 USART2_RX — занят виртуальным портом
D1 PA2 USART2_TX — занят
D2 PA10 USART1_RX
D3 PB3 TIM2_CH2, SWO
D4 PB5
D5 PB4 TIM3_CH1
D6 PB10 TIM2_CH3, I2C2_SCL
D7 PA8 TIM1_CH1, MCO
D8 PA9 USART1_TX
D9 PC7 TIM3_CH2
D10 PB6 TIM4_CH1, I2C1_SCL, обычно CS для SPI
D11 PA7 SPI1_MOSI, TIM3_CH2
D12 PA6 SPI1_MISO, TIM3_CH1
D13 PA5 SPI1_SCK, светодиод
D14 PB9 I2C1_SDA
D15 PB8 I2C1_SCL
A0 PA0 ADC1_IN0, TIM2_CH1
A1 PA1 ADC1_IN1, TIM2_CH2
A2 PA4 ADC1_IN4, SPI1_NSS
A3 PB0 ADC1_IN8, TIM3_CH3
A4 PC1 ADC1_IN11
A5 PC0 ADC1_IN10

Светодиод на D13/PA5 — та же линия, что SPI1_SCK: при работе с SPI1 светодиод мерцает, а его резистор нагружает линию. Для SPI1 на Nucleo либо смириться, либо перенести на PB3 через ремап.


E.3 Discovery — STM32F407VGT6

Плата с кристаллом в корпусе LQFP100, четырьмя светодиодами, акселерометром, микрофоном и аудио-ЦАП. Все выводы — на два ряда штырьков P1/P2.

На плате Вывод Примечание
LD4 зелёный PD12 анодом: 1 — горит; TIM4_CH1
LD3 оранжевый PD13 TIM4_CH2
LD5 красный PD14 TIM4_CH3
LD6 синий PD15 TIM4_CH4
кнопка B1 (синяя) PA0 нажатие — высокий уровень; подтяжка вниз на плате
кварц HSE PH0/PH1 8 МГц распаян; PLL: M = 8, N = 336, P = 2, Q = 7 → 168 МГц и 48 МГц USB
кварц LSE PC14/PC15 32 768 Гц
USB OTG FS PA11 D−, PA12 D+, PA9 VBUS, PA10 ID разъём micro‑USB CN5; подтяжка встроена (раздел 20)
акселерометр LIS3DSH SPI1: PA5 SCK, PA6 MISO, PA7 MOSI; PE3 CS; PE0/PE1 INT занимает SPI1
микрофон MP45DT02 PC3 данные, PB10 такт I2S2
аудио-ЦАП CS43L22 I2S3: PC7 MCK, PC10 CK, PC12 SD, PA4 WS; I2C1: PB6/PB9; PD4 сброс занимает I2S3 и I2C1
отладка PA13, PA14, PB3 SWO ST‑Link на плате

Четыре светодиода на четырёх каналах одного TIM4 — это готовый стенд для ШИМ (раздел 13): четыре независимые яркости одним таймером.

⚠️ PA0 на Discovery — кнопка с подтяжкой вниз, в отличие от BluePill и Nucleo, где кнопка тянет к земле. Активный уровень — высокий; внутреннюю подтяжку вверх включать нельзя — она будет бороться с внешней.

Занято периферией платы: SPI1 (акселерометр), I2S2 (микрофон), I2S3 и I2C1 (аудио), PA0 (кнопка), PD12–PD15 (светодиоды), PA9–PA12 (USB). При использовании этих блоков под своё — учитывать подключённые микросхемы: акселерометр держит CS в единице и не мешает, пока PE3 не опущен.

Discovery STM32F407VG: выводы портов A–E и H, занятые периферией платы, по блокам — 32 из 82

Свободные шины: USART2 (PA2/PA3), USART3 (PB10/PB11 — PB10 делится с микрофоном), SPI2 (PB13–PB15), I2C2 (PB10/PB11), I2C3 (PA8/PC9), CAN1 (PD0/PD1), CAN2 (PB12/PB13, общие с SPI2), ADC на PA1–PA3, PC1, PC2, PC4, PC5 (PC0 включает питание USB, PC3 — данные микрофона), TIM1–TIM3, TIM5, TIM8. Вторые варианты CAN на этой плате заняты: у CAN1 на PB8/PB9 мешает PB9 — линия SDA аудио-ЦАП, у CAN2 на PB5/PB6 — PB6, SCL того же ЦАП.


E.4 Общее для всех плат

BluePill Nucleo‑64 Discovery F407
светодиод PC13, активный 0 PA5, активный 1 PD12–PD15, активный 1
кнопка нет PC13, активный 0 PA0, активный 1
HSE кварц 8 МГц сигнал 8 МГц от ST‑Link (bypass) кварц 8 МГц
отладчик внешний на плате на плате
COM‑порт внешний переходник USART2 через ST‑Link нет — переходник
USB устройства PA11/PA12, подтяжка внешняя нет разъёма PA11/PA12, подтяжка встроена
частота ядра 72 МГц 84 (F401) / 100 (F411) 168 МГц

Три вещи, которые ломают перенос кода между платами: полярность светодиода, полярность кнопки и режим HSE. Проект, мигающий на BluePill, на Discovery горит постоянно; проект с кнопкой с Nucleo на Discovery видит вечно нажатую; проект с кварцем с BluePill на Nucleo не запускает PLL. Все три — в первых строках инициализации.

Открыть в интерактивном справочнике