Der Mikrocontroller auf dem Arduino Uno-Board verfügt über eine serielle Schnittstelle UART oder USART, über die er mit dem PC und anderen Geräten kommunizieren kann.

Hierfür werden die Pins TX (transmit) und  RX (receive) verwendet. Die Logikpegel betragen 0 und 5 V oder 0 und 3,3 V je nach Board. Die RS232-Schnittstelle verwendet das gleiche Protokoll, dennoch dürfen diese Pins nicht direkt mit der RS232-Schnittstelle verbunden werden, denn sie arbeitet mit +/- 12 V was mit hoher Wahrscheinlichkeit zu Hardware-Schaden führen wird. Mit der höheren Spannung von RS232 lassen sich etwas größere Distanzen überbrücken. Für einen direkten Anschluss muss ein Pegelumsetzer verwendet werden.

Asynchrone serielle Datenstrom des UART im Vergleich zu RS-232

Asynchrone serielle Datenstrom des UART im Vergleich zu RS-232
https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter (05.01.2022)

Damit die die serielle Kommunikation nicht gestört wird, darf an die TX/RX-Pins keine weitere Hardware angeschlossen werden, die die Spannungspegel beeinträchtigen würde.

Moderne PCs oder Laptops haben keine RS232-Schnittstelle mehr. Aus diesem Grund wird hierfür der USB-Port des PCs in den seriellen COM-Port umgewandelt. Dies geschieht mittels USB-Seriell-Adapter (beim Arduino On Board) und Software (Treiber). Praktischerweise findet beim Arduino Uno-Board die serielle Kommunikation also über die USB-Schnittstelle statt, über die auch das MC-Programm übertragen wird.

Programmbeispiel

/* Sendet jede Sekunde "hello world" über die serielle Schnittstelle
 */

void setup() {
	Serial.begin(9600);               // Einstellung der Baudrate
}

void loop() {
	Serial.println("Hello, World!");  // wahlweise auch Serial.print oder Serial.write verfügbar
	delay(1000);
}

Dabei stellt die Baudrate die Schrittgeschwindigkeit dar. Unter einem Schritt wird eine Veränderung am Signal (Pegeländerung) angesehen. Im Falle von UART/RS232 wird pro Schritt genau ein Bit übertragen. Hier gilt also 9600Bd = 9600bit/s

(Im Falle anderere Protokolle kann pro Schritt durchaus auch mehr als ein Bit übertragen werden. Daher darf die Baudrate nicht generell mit der Bitrate gleichgesetzt werden.)


Der Serielle Monitor wird mit Werkzeuge => Serieller Monitor (Strg+Shift+M) aus der Arduino-Entwicklungsumgebung gestartet. Hier muss die gleiche Baudrate eingetragen werden:

Empfang mit dem seriellen Monitor

Empfang mit dem seriellen Monitor



Last modified: Wednesday, 5 January 2022, 1:54 PM