STM32 Nucleo
Introduction
Carte de développement basée sur un microcontrôleur STM32
Architecture ARM Cortex-M
Intègre un debugger ST-LINK
Configuration Hardware
Pins et Ports
GPIO : General Purpose Input/Output
Mode Input/Output/Alternate/Analog
Push-pull ou Open-drain
Pull-up/Pull-down
Clock System :
HSI : High Speed Internal (16MHz)
HSE : High Speed External (dépend du crystal)
PLL : Phase-Locked Loop pour multiplication
Périphériques Principaux
UART/USART : Communication série
Timers : PWM, capture, comptage
ADC : Conversion analogique-digital
I2C/SPI : Communication avec capteurs
Développement
STM32CubeIDE
Création Projet
Sélection de la carte
Configuration des pins
Génération du code
Structure Projet
Core/ Src/ main.c stm32xx_it.c Inc/ main.h Drivers/ STM32XX_HAL_Driver/
Commandes Essentielles
# Compilation
make all
# Flash
make flash
# Debug
make debug
Points Critiques
Toujours initialiser le clock system
Vérifier les conflits de pins
Activer les périphériques dans CubeMX
Gérer les interruptions correctement
Ressources
Exemple Configuration UART
/* UART Handle */
UART_HandleTypeDef huart2;
/* Configuration */
huart2.Instance = USART2;
huart2.Init.BaudRate = 115200;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
/* Initialisation */
HAL_UART_Init(&huart2);