Разработчики ST предлагают широкий выбор плат разработки STM32 Nucleo, в том числе NUCLEO-F030R8 (с поддержкой STM32F0), NUCLEO-F103RB (с поддержкой STM32F), NUCLEO-F401RE (с поддержкой STM32F4) и NUCLEO-L152RE (поддерживающая STM32L1). Эти платы предлагают различные комбинации производительности, энергоэффективности и функций. Платы разработчика STM32 Nucleo интегрируют отладчик/программатор ST-Link и совместимы с различными средами разработки, такими как IAR EWARM, Keil MDK, mbed и IDE на базе GCC (Atollic TrueStudio). Это упрощает создание прототипов новых приложений для микроконтроллеров STM32. В этой статье представлен обзор основных технических характеристик и блок-схема платы STM32 NUCLEO-F401RE, а также примеры программирования для плат разработчика STM32 Nucleo.
Введение в плату NUCLEO-F401RE
Платформа разработчика NUCLEO-F401RE, также известная как NUCLEO-64, оснащена микроконтроллером STM32F401RET6. Этот контроллер основан на высокопроизводительном 32-разрядном RISC-ядре Arm® Cortex®-M4, работающем на тактовой частоте до 84 МГц. Ядро Cortex-M4 включает в себя блок с плавающей запятой (FPU) одинарной точности и поддерживает все инструкции и типы данных Arm одинарной точности. Оно также включает в себя полный набор инструкций DSP и блок защиты памяти (MPU) для повышения безопасности приложений. Платформа разработки STM32 NUCLEO-F401RE предоставляет пользователям доступный и гибкий способ экспериментировать с сочетанием производительности и энергосберегающих функций, предлагаемых микроконтроллерами STM32. Она устраняет необходимость в отдельных зондах, так как в нее встроен отладчик ST-LINK/V2-1. Демо-плата STM32 NUCLEO-64 поставляется с полной бесплатной библиотекой программного обеспечения и примерами, предоставляемыми пакетом STM32Cube MCU.
Технические характеристики
- Микроконтроллер: STM32F401RET6, 512 КБ флэш-памяти, 96 КБ ОЗУ, корпус LQFP64
- Встроенный ST-LINK/V2-1 (с интерфейсом программирования/отладки SWD)
- Варианты питания демонстрационной платы: USB Vbus или внешний источник питания 5 В
- 3 светодиодных индикатора
- 2 пользовательские кнопки и одна кнопка сброса
- Кварцевый генератор 768 кГц
- Бесплатная библиотека программного обеспечения и примеры — пакет STM32Cube MCU
Блок-схема

Выбор платы STM32 Nucleo, разводка выводов и отладка
Плата формата Nucleo-64 объединяет микроконтроллер STM32, встроенный отладчик ST-LINK, совместимые с Arduino разъёмы и линейки ST Morpho, однако это не делает все контакты взаимозаменяемыми. Для NUCLEO-F401RE необходимо одновременно читать схему платы и справочное руководство микроконтроллера: обычное техническое описание не показывает паяные перемычки, дублирование сигналов на разъёмах и различия ревизий. До назначения UART, SPI, таймеров или каналов ADC следует проверить таблицу альтернативных функций и допустимые уровни конкретного GPIO, а не считать все выводы устойчивыми к 5 В.
- Исполнение контроллера: Сверьте суффикс Nucleo, установленный корпус STM32, объём flash, источники тактирования и фактически доступные экземпляры периферии.
- Цепочка до разъёма: Проследите каждый контакт Arduino или Morpho до порта и отметьте общие соединения со светодиодом, кнопкой, кварцем или интерфейсом.
- Перемычки ST-LINK: Установите, направлен ли SWD на локальный MCU или внешнюю цель, и исключите одновременное управление линией двумя выходами.
- Схема питания: Проверьте правила USB, внешнего VIN, 3,3 В и 5 В, сначала соединяйте землю и соблюдайте ограничения тока и полярности.
- Первый запуск: Выполните тест светодиода или UART с правильной частотой, считайте идентификатор по SWD и сохраните подтверждённую распиновку вместе с ревизией.
Программирование NUCLEO-F401RE — последовательная связь
Это программирование направлено на понимание использования последовательной связи USART1 и включает в себя две задачи:
- При включении платы отправить строку «System Start!» на хост-компьютер.
- Когда хост-компьютер отправляет шестнадцатеричное число 0xA1 на плату разработчика, немедленно ответить строкой «a1».
Необходимые инструменты:
- Разработка платы: NUCLEO-F401RE (Nucleo64), модуль USB-TTL, 4 перемычки
- Инструмент разработки: CubeIDE v1.6, инструмент последовательной отладки
Аппаратные соединения
Использование UART1: UART1 (контакт TX: GPIOA9, контакт RX: GPIOA10)

Графическая конфигурация
Установить режим отладки.

Настройте последовательный порт как USART1.
Написание кода в CubeIDE
В файле main.c определите строку передачи данных и функцию обратного вызова для прерываний последовательного порта, как показано ниже:

Проверьте, является ли данные, полученные по USART1, 0xA1, ответьте соответствующим образом и включите функцию приема по прерыванию, чтобы продолжить ожидание входящих данных.
В основной функции в файле main.c отправьте «System Start!» при включении питания (строка 101) и включите функцию приема по прерыванию (строка 104).

Отладка и запуск кода — Подключите плату разработчика к USB-порту компьютера. Результаты отладки и запуска будут такими, как показано ниже:


Как показано на скриншоте, плата разработчика успешно отправила сообщение на компьютер.




