Arduino Leonardo als USB/UART-Adapter verwenden
Im Gegensatz zu älteren Designs wie dem Arduino Uno verfügt der Arduino Leonardo über eine separate Verbindung Serial1 für TTL-UART, während Serial für das USB-CDC-UART-Interface verwendet wird.
Dies ermöglicht es, den Leonardo als USB/UART-Brücke zu verwenden, ohne auf teurere Boards wie den Arduino Mega 2560 zurückgreifen zu müssen. Verwende dafür diesen Sketch, der auch modifiziert werden kann, um eine intelligente UART-Brücke bereitzustellen.
Denke daran, die Baudrate für deine Anwendung anzupassen. Diese Version des Sketchs unterstützt keine automatische Baudraten-Auswahl über die CDC-Peripherie.
/*
USB/UART-Brücke für Arduino Leonardo
Ursprünglich geschrieben von Uli Koehler in 2015
Veröffentlicht auf techoverflow.net
Revision 1.0
Veröffentlicht unter Public Domain (CC 1.0 Universal)
*/
void setup() {
// Baudrate hier anpassen
Serial.begin(115200);
Serial1.begin(115200);
//Warten bis USB-CDC-Port verbunden ist
while (!Serial) {
}
}
void loop() {
//Byte kopieren, das über TTL-Serial hereinkommt
if (Serial1.available() > 0) {
Serial.write(Serial1.read());
}
//Byte kopieren, das über CDC-Serial hereinkommt
if (Serial.available() > 0) {
Serial1.write(Serial.read());
}
}Update 2017-09-13: Fix für const int baudrate, das ein 2-Byte-int auf avr-gcc ist und daher 115200 als Zahl nicht aufnehmen kann. Danke Andrei Kovari!