Ok,
ich habe einen µC mit dem ich über den PC kommunizieren möchte.
Hab dazu ein Protokoll geschrieben, um diesen zu steuern.
Der controller sendet immer folgenden Befehlssatz:
!PIN:ZEIT(ms):RE/FE (RE/FE --> Rising/Falling Edge)
BSP:
"!2:12346:RE\r\n"
"!5:45678:FE\r\n"
Nun kommt es vor, dass ich ständig Daten vom Controller empfangen möchte (also der Comport solange offengehalten wird)
Aber wenn ich einen Abbruchbefehl eingebe / bzw. die Abbruchfunktion aufrufe, ich diesen wieder schließe.
In Python bin ich jetzt nicht so ganz der Bringer (soll heißen Anfänger).
Ich hab das so gelöst:
Code: Alles auswählen
def permanentControll():
ser = serial.Serial(5, 38400, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=0, rtscts=0)
holdWhile = True
while holdWhile:
#checkRX = ser.read(1)
if ser.read(1) != ' ':
time.sleep(0.2)
rxBox = ser.read(300)
print rxBox
Eine Endlosschleife, einmal gestartet,...
Wie kann ich das so aufbauen, dass diese schleife durch ein anderes Modul wieder beendet werden kann und vor allem, dass man die Möglichkeit bekommt diesen Abbruchbefehl ausführen zu lassen??
vlt über eine weitere Funktion
Code: Alles auswählen
def stopPermanentControll():
ser.close()
Gruß