pont-uart.ino
La GIGA aligne 4 UART matériels : Serial1 sur D0/D1 sert de passerelle vers le monde TTL. Le pont bidirectionnel configure un module à la volée depuis le moniteur série.
Matériel requis
Une carte Arduino Giga R1 (STM32H747 double cœur M7 480 MHz + M4, 76 E/S, 2 DAC, FDCAN) alimentée par USB-C ou 5-24 V. 1 module UART 3,3 V (GPS, LoRa, RS-485…) + adaptateur si besoin.
Branchement
TX/RX croisés entre D0/D1 et le module, masses communes, niveaux 3,3 V. Attention : D0/D1 sont aussi les broches Serial classiques sur d'autres cartes.
Fonctionnement
Deux FIFOs et deux while : chaque flux est vidé à chaque tour. La GIGA tenant 4 UART + USB, le pont peut devenir routeur multi-modules. Dans l'Arduino IDE, installez la plateforme « Arduino Zephyr-based Boards » (ou Mbed), choisissez « Arduino Giga R1 », puis Téléverser. Logique 3,3 V.
Pour aller plus loin
Ajoutez le parsing de trames (préfixe/terminateur) et la redirection vers le CAN.
pont-uart.ino
// Pont Serial USB <-> Serial1 (D0 RX / D1 TX) a 9600 bauds.
// Exemple typique : GPS, module LoRa, convertisseur RS-485.
void setup() {
Serial.begin(115200); // console USB
Serial1.begin(9600); // D0/D1 : le module
Serial.println("Pont USB <-> Serial1 actif");
}
void loop() {
while (Serial1.available()) // module -> console
Serial.write(Serial1.read());
while (Serial.available()) // console -> module (config AT)
Serial1.write(Serial.read());
}