Les cartes de développement STM32 Nucleo de ST offrent toute une gamme d'options, notamment NUCLEO-F030R8 (prenant en charge STM32F0), NUCLEO-F103RB (prenant en charge STM32F), NUCLEO-F401RE (prenant en charge STM32F4) et NUCLEO-L152RE (prenant en charge STM32L1). Ces cartes offrent diverses combinaisons de performances, d'efficacité énergétique et de fonctionnalités. Les cartes de développement STM32 Nucleo intègrent le débogueur/programmeur ST-Link et sont compatibles avec divers environnements de développement tels que IAR EWARM, Keil MDK, mbed et les IDE basés sur GCC (Atollic TrueStudio). Cela facilite le prototypage de nouvelles applications MCU STM32. Cet article présente les principales spécifications et le schéma fonctionnel de la carte STM32 NUCLEO-F401RE, ainsi que des exemples de programmation pour les cartes de développement STM32 Nucleo.
Présentation de la carte NUCLEO-F401RE
La carte de développement NUCLEO-F401RE, également connue sous le nom de NUCLEO-64, est équipée du microcontrôleur STM32F401RET6. Ce contrôleur est basé sur le cœur RISC 32 bits Arm® Cortex®-M4 haute performance, fonctionnant à une fréquence d'horloge pouvant atteindre 84 MHz. Le cœur Cortex-M4 comprend une unité à virgule flottante (FPU) à précision simple et prend en charge toutes les instructions et tous les types de données à précision simple Arm. Il intègre également un ensemble complet d'instructions DSP et une unité de protection de la mémoire (MPU) pour une sécurité renforcée des applications. La carte de développement STM32 NUCLEO-F401RE offre aux utilisateurs un moyen abordable et flexible d'expérimenter la combinaison des performances et des fonctionnalités énergétiques offertes par les microcontrôleurs STM32. Elle élimine le besoin de sondes séparées, car elle intègre le débogueur ST-LINK/V2-1. La carte de démonstration STM32 NUCLEO-64 est fournie avec une bibliothèque logicielle complète gratuite et des exemples fournis par le package STM32Cube MCU.
Spécifications techniques
- MCU : STM32F401RET6, 512 Ko de mémoire flash, 96 Ko de RAM, boîtier LQFP64
- ST-LINK/V2-1 intégré (avec interface de programmation/débogage SWD)
- Options d'alimentation de la carte de démonstration : USB Vbus ou alimentation externe 5 V
- 3 voyants LED
- 2 boutons utilisateur et un bouton de réinitialisation
- Oscillateur à quartz 768 kHz
- Bibliothèque logicielle gratuite et exemples – Package STM32Cube MCU
Schéma fonctionnel

Programmation NUCLEO-F401RE - Communication série
Cet exercice de programmation vise à comprendre l'utilisation de la communication série USART1 et comprend deux tâches :
- Au démarrage de la carte, envoyer la chaîne « System Start! » à l'ordinateur hôte.
- Lorsque l'ordinateur hôte envoie le nombre hexadécimal 0xA1 à la carte de développement, répondre immédiatement par la chaîne « a1 ».
Outils nécessaires :
- Carte de développement : NUCLEO-F401RE (Nucleo64), module USB vers TTL, 4 fils de raccordement
- Outil de développement : CubeIDE v1.6, outil de débogage série
Connexions matérielles
Utiliser UART1 : UART1 (broche TX : GPIOA9, broche RX : GPIOA10)

Configuration graphique
Activer le mode débogage.

Configurez le port série comme USART1.
Écrire du code dans CubeIDE
Dans le fichier main.c, définissez la chaîne de transmission des données et la fonction de rappel pour les interruptions du port série, comme indiqué ci-dessous :

Vérifiez si les données reçues sur USART1 sont 0xA1, répondez en conséquence et activez la fonction de réception pilotée par interruption pour continuer à attendre les données entrantes.
Dans la fonction principale du fichier main.c, envoyez « System Start! » (Démarrage du système !) à la mise sous tension (ligne 101) et activez la fonction de réception pilotée par interruption (ligne 104).

Déboguer et exécuter le code – Connectez la carte de développement au port USB de l'ordinateur. Les résultats du débogage et de l'exécution seront les suivants :


Comme le montre la capture d'écran, la carte de développement a envoyé avec succès un message à l'ordinateur.



