ich habe ein Programm, das auf die serielle Schnittstelle (USB) zugreift. Diese wird natürlich initialisiert, und ein Fehler durch falsche COMPort Initialisierung wird erfolgreich abgefangen.
Code: Alles auswählen
def initser():
try:
global ser, Uport
ser=serial.Serial(
port = Uport, # COM Port Nummer als Variable aus Eingabemaske, wird in Funktion comport definiert
baudrate = 115200,
parity = serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1
)
Errorzeile=Label(fenster, text=" ")
Errorzeile.pack()
Errorzeile.place(x = 450, y = 130)
Portgesetzt = Label(fenster, text="COM Port ist gesetzt ", bg="lightgreen")
Portgesetzt.pack()
Portgesetzt.place(x = 450, y = 55) #Anzeige, dass COM Port gesetzt ist
except IOError:
print(IOError)
Errorzeile=Label(fenster, text=IOError, fg="red", font = "calibri 12 bold italic")
Errorzeile.pack()
Errorzeile.place(x = 450, y = 130)
Portgesetzt = Label(fenster, text="COM Port ist falsch ", bg="yellow")
Portgesetzt.pack()
Portgesetzt.place(x = 450, y = 55)
Das Problem ist nun folgendes:
Wenn das COMPort richtig eingestellt war, und ich übergebe noch einmal den richtigen String, dann bekomme ich immer einen IO Error, da dasselbe COPort nicht 2x zugewiesen werden kann.
Gibt es eine Möglichkeit, die bisherige Initialisierung sozusagen zu löschen ("deinit") ?