Pyserial Readline
In diesem Tutorial erfahren Sie, wie Sie die Funktion read()
oder readline()
im Python-Modul serial
verwenden.
Die Funktionen read()
und readline()
sind ein wesentlicher Bestandteil von Pythons serial
-Modul. Das Modul serial
bietet alle Funktionen und Notwendigkeiten für den Zugriff auf die serielle Schnittstelle.
Im Wesentlichen kann man sagen, dass das Modul serial
die Backends für Python liefert, das auf Linux, Windows, OSX etc. läuft. Vereinfacht gesagt bedeutet dies, dass serial
automatisch das Backend auswählt, das es für richtig hält.
Beginnen wir mit der Funktion read()
und ihrer Anwendung, wenn wir mehr als ein einzelnes Zeichen gleichzeitig lesen müssen. Die Funktion read()
des Moduls serial
wird verwendet, um den gegebenen Text byteweise zu lesen. Es enthält einen Parameter, der die maximale Anzahl von bytes
angibt, die die Funktion lesen soll.
Das folgende Programm verwendet die Funktion read()
, um mehr als ein einzelnes Zeichen gleichzeitig zu lesen.
# general code of the serial module
import serial
ser = serial.Serial()
ser.port = "COM2"
ser.baudrate = 19200
ser.timeout = 0
x = ser.read() # This function will read one byte from the given variable.
Ebenso können wir die Funktion readline()
verwenden. Es hat eine Funktionsweise, die der Funktion read()
ziemlich ähnlich ist, aber stattdessen liest es eine ganze Zeile auf einmal.
Der Timeout muss jedoch definiert werden, um die Funktion readline()
korrekt zu implementieren. Darüber hinaus stoppt die Funktion readline()
das Lesen einer Zeile erst, wenn sie auf das Zeilenende oder eol
stößt, das ist das Newline-Zeichen \n
, daher ist es wichtig, dies bei Verwendung dieser Funktion auf jede Zeile anzuwenden.
Der folgende Code verwendet die Funktion readline()
, um mehr als ein einzelnes Zeichen gleichzeitig zu lesen.
# general code of the serial module
import serial
ser = serial.Serial()
ser.port = "COM2"
ser.baudrate = 19200
ser.timeout = 0
line = ser.readline() # This function reads one line at a time.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn