Serielle Kommunikation bei Arduino Due mit Fehlern

Bei der seriellen Kommunikation mit dem Arduino Due kann es bei manchen Modellen zu Fehlern kommen. Wie geprüft werden kann, ob der eigene Due davon betroffen ist und wie der Fehler behoben wird, ist im folgenden Artikel beschrieben.

Bei einigen Modellen des Arduino Due kann es zu Problemen bei der Kommunikation über die serielle Schnittstelle kommen. Das Problem tritt nur auf, wenn mit dem Arduino Due über den Programmer- und den Serial-Port kommuniziert wird. Ob der eigene Arduino Due davon betroffen ist, kann mit folgendem Programm überprüft werden.

void setup() {
  Serial.begin(9600);
  Serial.println("test");
}

void loop() {
}

Wird der "Serial Monitor" geöffnet und werden nach dem Betätigen des Reset-Knopfes weitere Zeichen als das "test" ausgegeben, dann ist er mit großer Wahrscheinlichkeit davon betroffen.

Das Problem ist auf einen Fehler im Bootloader zurückzuführen und wurde bereits Anfang 2013 behoben. Der Bootloader befindet sich auf dem Atmega16u2 nahe dem Anschluss für die Stromversorgung.

Weitere Informationen zu dem Fehler können dem Issue "Bugfix for garbage data coming from serial port after reset. (Arduino Due)"(englisch) auf GitHub entnommen werden. Um den Fehler zu beheben muss eine aktualisierte Version des Bootloaders auf dem Atmega16u2 eingespielt werden. Eine Anleitung dafür ist auf der Arduino Webseite unter "Upgrading the firmware of the Arduino Due Programming port 16U2"(englisch) zu finden. Nach dem Update trat das Problem bei dem vorliegenden Modell nicht mehr auf.

Verwandte Artikel