
ich versuche gerade eine Serielle Schnittstelle auszulesen.
Folgendes habe ich programmiert bis jetzt:
Code: Alles auswählen
import serial
s = serial.Serial()
# Kommunikationsparameter
s.port = 'COM4'
s.baudrate = 115200
s.bytesize = 8
s.stopbits = serial.STOPBITS_ONE
s.parity = serial.PARITY_NONE
s.rts = True
s.dtr = True
s.timeout = None
print(s.timeout)
print(s.parity)
# Oeffne Kommunikation
s.open()
# gib den Namen des Ports aus
print(s.name)
# checkt ob Kommunikation offen ist
print(s.is_open)
test = []
if(s.isOpen()):
xy = ("SET\n\r").encode('utf-8')
s.write(xy)
while(1):
serial_line = s.readline().decode("utf-8")
print(serial_line)
test.append(serial_line)
file = open("CAB690.txt", "w")
file.write(str(test))
file.close()
s.close()
else:
print("Cannot open serial port")
Problem:
Ich bleibe in der "while(1)" - Schleife stecken ... und komme nicht dazu die Daten in meine file zu schreiben.
Gibt es irgendein Befehl um am ende der "while-Schleife" abzubrechen?
Also z.B. wenn ich keine Daten mehr erhalte soll er raus aus der while-Schleife