🛠 Pont Serial vers Serial1 : passerelle USB vers TTL

Arduino Micro · intermediaire · Schéma : IMG-micro-intermediaire-2-micro-pont-serial-serial1.svg — Arduino Micro en passerelle série : le port USB (Serial, CDC) relié logiquement à l'UART TTL des broches 0 (RX) et 1 (TX) vers un module externe, avec des flèches dans les deux sens

Objetivos

Construir un puente serie: todo lo que llega al puerto USB (Serial, CDC) se copia en el UART TTL Serial1 (pines 0/1), y viceversa. Útil para comunicarse con un GPS, un módulo GSM u otro microcontrolador de 5 V desde el Monitor serie.

Material

Código completo

// Passerelle bidirectionnelle USB CDC (Serial) <-> UART TTL (Serial1, broches 0/1).
// Memo bug du noyau AVR #267 : sur le port USB 32U4, Serial.available
// ne remonte que 0 ou 1 octet a la fois ; lire en continu, pas par blocs.
void setup {
  Serial.begin(9600);    // USB CDC : ce que voit le Moniteur serie
  Serial1.begin(9600);   // UART materiel sur broches 0 (RX) / 1 (TX)
  while (!Serial) {}     // attendre l'enumeration USB
  Serial.println("Passerelle active : USB <-> broches 0/1");
}

void loop {
  while (Serial.available > 0)    // hote USB -> module TTL
    Serial1.write(Serial.read);
  while (Serial1.available > 0)   // module TTL -> Moniteur serie
    Serial.write(Serial1.read);
}

Verificación esperada

Lo que escriba en el Monitor serie sale por el pin 1 (TX) y se muestra en el terminal conectado al módulo; lo que el módulo envía al pin 0 (RX) aparece en el Monitor. Un bucle de prueba del pin 1 al pin 0 (cable directo) hace aparecer cada carácter tecleado.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales