Die STM32 Nucleo-Entwicklungsboards von ST umfassen eine Reihe von Optionen, darunter NUCLEO-F030R8 (unterstützt STM32F0), NUCLEO-F103RB (unterstützt STM32F), NUCLEO-F401RE (unterstützt STM32F4) und NUCLEO-L152RE (unterstützt STM32L1). Diese Boards bieten verschiedene Kombinationen aus Leistung, Energieeffizienz und Funktionen. Die STM32 Nucleo-Entwicklungsboards integrieren den ST-Link-Debugger/Programmierer und sind mit verschiedenen Entwicklungsumgebungen wie IAR EWARM, Keil MDK, mbed und GCC-basierten IDEs (Atollic TrueStudio) kompatibel. Dies erleichtert die Prototypenerstellung für neue STM32-MCU-Anwendungen. Dieser Artikel bietet einen Überblick über die wichtigsten Spezifikationen und das Blockdiagramm des STM32 NUCLEO-F401RE-Boards sowie Programmierbeispiele für STM32 Nucleo-Entwicklungsboards.
Einführung in das NUCLEO-F401RE-Board
Das Entwicklungsboard NUCLEO-F401RE, auch bekannt als NUCLEO-64, verfügt über den Mikrocontroller STM32F401RET6. Dieser Controller basiert auf dem leistungsstarken 32-Bit-RISC-Kern Arm® Cortex®-M4 und läuft mit einer Taktfrequenz von bis zu 84 MHz. Der Cortex-M4-Kern umfasst eine Single-Precision-Floating-Point-Einheit (FPU) und unterstützt alle Arm-Single-Precision-Datenverarbeitungsbefehle und Datentypen. Außerdem verfügt er über einen vollständigen Satz von DSP-Befehlen und eine Memory Protection Unit (MPU) für erhöhte Anwendungssicherheit. Das STM32 NUCLEO-F401RE-Entwicklungsboard bietet Anwendern eine kostengünstige und flexible Möglichkeit, mit einer Kombination aus Leistungs- und Energieeffizienzfunktionen der STM32-Mikrocontroller zu experimentieren. Da es den ST-LINK/V2-1-Debugger integriert, sind keine separaten Sonden erforderlich. Das STM32 NUCLEO-64 Demo-Board wird mit einer umfassenden kostenlosen Softwarebibliothek und Beispielen aus dem STM32Cube MCU-Paket geliefert.
Technische Daten
- MCU: STM32F401RET6, 512 KB Flash, 96 KB RAM, LQFP64-Gehäuse
- Integriertes ST-LINK/V2-1 (mit SWD-Programmier-/Debug-Schnittstelle)
- Stromversorgungsoptionen für das Demo-Board: USB-Vbus oder externe 5-V-Versorgung
- 3 LED-Anzeigen
- 2 Benutzertasten und eine Reset-Taste
- 768-kHz-Quarzoszillator
- Kostenlose Softwarebibliothek und Beispiele – STM32Cube MCU-Paket
Blockdiagramm

NUCLEO-F401RE Programmierung – Serielle Kommunikation
Diese Programmierübung dient dem Verständnis der Verwendung der seriellen Kommunikation USART1 und umfasst zwei Aufgaben:
- Nach dem Einschalten der Platine senden Sie die Zeichenfolge „System Start!” an den Host-Computer.
- Wenn der Host-Computer die Hexadezimalzahl 0xA1 an die Entwicklungsplatine sendet, sofort mit der Zeichenfolge „a1” antworten.
Erforderliche Werkzeuge:
- Entwicklungsboard: NUCLEO-F401RE (Nucleo64), USB-zu-TTL-Modul, 4 Jumperkabel
- Entwicklungswerkzeug: CubeIDE v1.6, serielles Debugging-Werkzeug
Hardware-Verbindungen
UART1 verwenden: UART1 (TX-Pin: GPIOA9, RX-Pin: GPIOA10)

Grafische Konfiguration
Debug-Modus einstellen.

Konfigurieren Sie den seriellen Anschluss als USART1.
Code schreiben in CubeIDE
Definieren Sie in der Datei main.c die Datenübertragungszeichenfolge und die Rückruffunktion für serielle Schnittstellenunterbrechungen wie unten gezeigt:

Überprüfen Sie, ob die auf USART1 empfangenen Daten 0xA1 sind, reagieren Sie entsprechend und aktivieren Sie die interruptgesteuerte Empfangsfunktion, um weiter auf eingehende Daten zu warten.
In der Hauptfunktion in der Datei main.c senden Sie beim Einschalten „System Start!“ (Zeile 101) und aktivieren Sie die interruptgesteuerte Empfangsfunktion (Zeile 104).

Debuggen und Ausführen des Codes – Schließen Sie die Entwicklungsplatine an den USB-Anschluss des Computers an. Die Ergebnisse des Debuggens und Ausführens werden wie folgt angezeigt:


Wie auf dem Screenshot zu sehen ist, hat das Entwicklungsboard erfolgreich eine Nachricht an den Computer gesendet.



