Hallo,
habe einen Motorcontroler und die Ansteuerung für diesen in python realisiert. Alles supergut doch bei Absturz und nochmaligem Start ist de comport bussy und es läuft nichts mehr.
Spreche den comport über die dll`s des Controlers an. open_com(port_no) und close_com(port_no)
Wenn aber während der Motorbewegung ein Programmabbruch erfolgt ist der port nach wie vor belegt, d.h. open_com(port_no) liefert bei Neustart einen Fehler.
Kennt jemand ein tool, welches einen rs232 mit Angabe dessen Nummer in jungfräulichkeit versetzt? (Reinitialisierung)
Gruß, gallego
free com port
Sowas sollte normalerweise das System machen.
Du koenntest ausserdem versuchen, einen Signalhandler (falls es das unter Windows gibt) oder auf auesserster Eben ein try/catch in dein Programm einzubauen, dass den Comport dann wieder freigibt.
Du koenntest ausserdem versuchen, einen Signalhandler (falls es das unter Windows gibt) oder auf auesserster Eben ein try/catch in dein Programm einzubauen, dass den Comport dann wieder freigibt.
ich verwende jeweils pyserial unter Windows und da prüfe ich vor dem öffnen des Ports ob er schon offen ist und schliesse ihn dann bevor ich erneut öffne:
Code: Alles auswählen
ser = serial.Serial()
ser.port = 0
if ser.isOpen():
ser.close()
ser = serial.Serial(0, 9600, timeout=10)