🛠 Premiers pas sur le Nucleo-144 STM32H743ZI : core STM32duino, ST-LINK et premier Blink

STM32H7 Nucleo-144 (modèle phare : NUCLEO-H743ZI) · debutant · Schéma : IMG-stm32h7-nucleo-debutant-1-stm32h743zi-arduino-first-steps.svg — Nucleo-144 STM32H743ZI vue de dessus avec le connecteur ST Zio (Arduino Uno V3), les deux rangées ST morpho, la LED LD1 et le connecteur USB de l'ST-LINK/V2-1 mis en évidence, flat vector style, étiquettes en français, fond blanc.

Qué vas a construir

La Nucleo-144 basada en el STM32H743ZI es la placa insignia de ST con Cortex-M7: hasta 480 MHz, una FPU de doble precisión (IEEE 754), 2 MB de flash dual-bank y hasta 1 MB de RAM (192 KB TCM + hasta 864 KB de SRAM de usuario + 4 KB de SRAM de respaldo). Este primer tutorial pone en marcha un parpadeo de LED y un registro serie bajo la experiencia de Arduino, utilizando el core STM32duino de la comunidad (respaldado por ST).

Hardware

Paso 1 — Instalar el core STM32duino

  1. En Arduino IDE 2.x, abre el Gestor de placas y añade la URL del índice https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json.
  2. Instala el core STM32 Boards, luego selecciona la placa Nucleo H743ZI (admitida desde el core 1.5.0; la entrada de placa H743ZI2 existe desde el core 1.6.0).
  3. Nota: desde el core 2.8.0 solo se soporta Arduino IDE 2.x — actualiza el IDE si aún estás en la versión 1.x.

Paso 2 — El sketch

// Blink + serial + analog + double-precision FPU smoke test.
// Board: "Nucleo H743ZI" under the STM32duino "STM32 Boards" core.
#include <Arduino.h>

volatile double sink;  // keep the FPU loop from being folded away

void setup {
  pinMode(LED1, OUTPUT);       // LED1 = core alias for the onboard LED (LD1, PB0)
  Serial.begin(115200);        // ST-LINK virtual COM port, 115200 8N1
  sink = 0.0;                  // H7 FPU is double-precision — no tricks needed
  for (int i = 1; i <= 1000000; i++) sink += 1.0 / (i + 0.5);
}

void loop {
  digitalWrite(LED1, HIGH);
  delay(150);
  digitalWrite(LED1, LOW);
  delay(150);

  int raw = analogRead(A0);    // 3 ADCs, up to 16-bit; A0..A27 exist on this variant
  Serial.printf("A0=%u  fpu=%.6f\n", raw, sink);
  delay(500);
}

Paso 3 — Programar y observar

Conecta el cable USB al conector etiquetado con el símbolo ST-LINK, sube el código y abre el monitor serie a 115200. La consola se conecta a la UART predeterminada de la variante, conectada al puerto COM virtual del ST-LINK (el mapeo de Zephyr utiliza UART3 en PD8/PD9 — verifica el mapeo de variantes de tu versión del core).

Resultado esperado

LD1 parpadea a aproximadamente 3 Hz y el monitor imprime una línea continua A0=... fpu=... — prueba de que el núcleo de 480 MHz, la FPU de doble precisión y la serie VCP funcionan correctamente. La función SystemClock_Config de la variante STM32duino ejecuta 480 MHz de SYSCLK de fábrica (HSE 8 MHz, PLLM=1, PLLN=120, PLLR=2, regulador en escala de voltaje 0).

Problemas comunes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales