🛠 Console série sur l'USB natif (CDC) du S3

ESP32-S3 · debutant · Schéma : IMG-esp32-s3-debutant-3-esp32-s3-console-usb-cdc.svg — Carte ESP32-S3 reliée par un seul câble USB à l'ordinateur, le moniteur série affichant des messages, la mention USB CDC On Boot Enabled visible dans le menu Outils.

Objetivos

Dominar la consola serie en ESP32-S3 mediante USB nativo. A diferencia del ESP32 clásico, el S3 no necesita un chip puente USB-serie: por un lado, posee un controlador USB-OTG (pines GPIO19/GPIO20) y, por otro, un periférico USB-Serial/JTAG. Al activar «USB CDC On Boot: Enabled», el comando Serial.print sale directamente por el puerto USB de la placa. También aprenderás la diferencia con la antigua UART0 (GPIO43 TX / GPIO44 RX por defecto) y cómo recuperar el acceso si el puerto desaparece.

Material

Código completo

// Console sur USB natif : outils Arduino -> "USB CDC On Boot: Enabled"
// (sur certaines cartes : "USB Mode: Hardware CDC and JTAG")
unsigned long t0 = millis;
uint32_t n = 0;

void setup {
  Serial.begin(115200);          // flux CDC, pas d'UART materielle ici
  while (!Serial && millis < 5000) {
    // attend que le terminal hote soit branche (max 5 s)
    delay(10);
  }
  Serial.println;
  Serial.println("ESP32-S3 : console sur USB natif (CDC)");
  Serial.printf("Chip: %s, %d coeur(s), %.0f MHz\n",
                "ESP32-S3", portNUM_PROCESSORS,
                (double)getCpuFreqMHz);
}

void loop {
  Serial.printf("[%4.1f s] message n=%u\n", (millis - t0) / 1000.0, ++n);
  if (Serial.available) {      // echo de ce que l'hote envoie
    char c = Serial.read;
    Serial.print("Recu: ");
    Serial.println(c);
  }
  delay(1000);
}

Verificación esperada

El monitor serie del IDE (o PuTTY/Arduino Serial Monitor a 115200) muestra la cabecera y luego una línea por segundo; los caracteres tecleados desde el ordenador se devuelven. Todo esto con un solo cable USB, sin puente serie externo. El monitor de sistema de Windows confirma la presencia de un dispositivo «USB Serial Device» cuando la placa es reconocida.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales