Плата разработчика STM32 Nucleo

Разработчики 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

Блок-схема

Block Diagram of STM32 Nucleo Board
Block Diagram of STM32 Nucleo Board

Выбор платы 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 и включает в себя две задачи:

  1. При включении платы отправить строку «System Start!» на хост-компьютер.
  2. Когда хост-компьютер отправляет шестнадцатеричное число 0xA1 на плату разработчика, немедленно ответить строкой «a1».

Необходимые инструменты:

  • Разработка платы: NUCLEO-F401RE (Nucleo64), модуль USB-TTL, 4 перемычки
  • Инструмент разработки: CubeIDE v1.6, инструмент последовательной отладки

Аппаратные соединения

Использование UART1: UART1 (контакт TX: GPIOA9, контакт RX: GPIOA10)

Connect Nucleo64 development board with USB module
Connect Nucleo64 development board with USB module

Графическая конфигурация

Установить режим отладки.

Pinout Configuration Debug Serial Wire CubeIDE
Pinout Configuration-Debug Serial Wire CubeIDE

Настройте последовательный порт как USART1.

Написание кода в CubeIDE

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

Callback function in main.c file CubeIDE
Callback function in main.c file CubeIDE

Проверьте, является ли данные, полученные по USART1, 0xA1, ответьте соответствующим образом и включите функцию приема по прерыванию, чтобы продолжить ожидание входящих данных.

В основной функции в файле main.c отправьте «System Start!» при включении питания (строка 101) и включите функцию приема по прерыванию (строка 104).

Sending and receiving functions in the main.c file CubeIDE
Sending and receiving functions in the main.c file CubeIDE

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

Program debugging of NUCLEO-F401RE board
Program debugging of NUCLEO-F401RE board
Debugging results of NUCLEO-F401RE board
Debugging results of NUCLEO-F401RE board

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

Поделиться:

Прокрутить вверх

Мгновенный расчет

Instant Quote