Das ist immer noch unguenstig, weil du eine Fehler erzeugst, wenn der Benutzer erst senden drueckt. Denn dann gibt es kein self.ser. Knallt also. Wenn man das so machen will, sollte man die Bedienelemente, die von der Operation oeffnen abhaengen, inaktivieren/verstecken oder aehnliches. Mindestens aber *immer* ein self.ser anlegen (mit None vorbelegt), und sicherstellen, dass man im Code der das probiert zu benutzen prueft, ob das vorhanden ist.
Die Frage jenseits davon: funktioniert es mit dem newline? Wenn nicht, ist aus Python-Sicht nichts anders zu machen, und das Problem muss bei der Verkabelung/Hardware liegen.
senden über Com port RS 232
-
- User
- Beiträge: 14
- Registriert: Mittwoch 29. April 2020, 14:38
@_deets_
also an der Verkabelung kann es nicht liegen , da ich mit nem normalem Terminal was senden kann und es auch an einem anderen Port sehen kann.
Muss ich ausserhalb der Funktion self.ser(COM1,...) definieren?
@_blackjack_
so wie der Code jetzt aussieht kann ich noch nix senden.
also an der Verkabelung kann es nicht liegen , da ich mit nem normalem Terminal was senden kann und es auch an einem anderen Port sehen kann.
Muss ich ausserhalb der Funktion self.ser(COM1,...) definieren?
@_blackjack_
so wie der Code jetzt aussieht kann ich noch nix senden.
Wenn es mit anderer Software geht, solltest du deine GUI beiseite legen, und erstmal nur ein Skript schreiben, mit dem du die serielle Kommunikation zum laufen bekommst.
Und was du tun musst habe ich doch beschrieben. IMMER ein self.ser anlegen, eben schon im Konstruktor. Und in deinen ganzen Funktionen die das benutzen pruefen, ob es gesetzt ist. Uebrigens ist deine GUI auch ansonsten falsch, weil du den Open button umkonfigurierst, statt den Close Button zu benutzen. Kann man machen, dann sollte man nur auch in der Aktion fuer den einen Button unterscheiden, was denn passieren muss.
Und was du tun musst habe ich doch beschrieben. IMMER ein self.ser anlegen, eben schon im Konstruktor. Und in deinen ganzen Funktionen die das benutzen pruefen, ob es gesetzt ist. Uebrigens ist deine GUI auch ansonsten falsch, weil du den Open button umkonfigurierst, statt den Close Button zu benutzen. Kann man machen, dann sollte man nur auch in der Aktion fuer den einen Button unterscheiden, was denn passieren muss.
-
- User
- Beiträge: 14
- Registriert: Mittwoch 29. April 2020, 14:38
Jetzt weiß was du meinst @_blackjack_ Traceback (Most Regent call last):
self.ser.write(‘1234\r\n‘)
Aber wie kann man das anders schreiben.
self.ser.write(‘1234\r\n‘)
Aber wie kann man das anders schreiben.
-
- User
- Beiträge: 14
- Registriert: Mittwoch 29. April 2020, 14:38
@_deets_
Hat sich erledigt ich hab’s ans laufen bekommen.
Vielen Dank nochmal für die Hilfe.
Hat sich erledigt ich hab’s ans laufen bekommen.
Vielen Dank nochmal für die Hilfe.