Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Laut meines Verständnisses müsste das Skript, wenn keine Daten kommen, nach 20 Sekunden aus der while-Schleife rausspringen.
Habe ich hier einen Denkfehler ?
Zuletzt geändert von Kirikkayis am Donnerstag 1. August 2019, 12:29, insgesamt 2-mal geändert.
@Kirikkayis: Wie sieht denn Dein *tatsächlicher* Code aus, denn der da verlässt die ``while``-Schleife beim ersten `readline()` mit einer `SerialException` weil der Port nicht geöffnet wird.
Die Klammern beim ``if`` gehören da nicht hin.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
__blackjack__ hat geschrieben: Donnerstag 1. August 2019, 12:20
@Kirikkayis: Wie sieht denn Dein *tatsächlicher* Code aus, denn der da verlässt die ``while``-Schleife beim ersten `readline()` mit einer `SerialException` weil der Port nicht geöffnet wird.
Die Klammern beim ``if`` gehören da nicht hin.
Hast recht, hab falsch abgeschrieben (muss alles abtippen da ich auf dem anderen Laptop kein WLAN hab )
Nun sollte der Code richtig sein.
Eben erzählt __blackjack__ dir noch, dass bei dem if keine Klammern hingehören (und das nicht zum ersten Mal), du zitierst das sogar und setzt dann doch wieder welche.
Dann rätst du wild irgendwelchen völlig absurden Code.
Was ist denn s.timeout?!? Hast du das mal geprüft?
Arbeite ein vernünftiges Tutorial durch, um die Grundlagen zu lernen. Die offizielle Dokumentation hat eines. Programmieren funktioniert nie durch raten.
Bei so wenig Eigeninitiative zum Lernen und Umsetzen bin ich raus.
@Kirikkayis: Man kann Rechner sofern die Schnittstellen vorhanden sind auch per seriellem Kabel verbinden wenn sie kein Wifi haben.
USB? Auch kein Bluetooth? Lautsprecher und Mikrofon zum Morsen (oder ähnliches)? QR-Code anzeigen auf dem einen Rechner, Webcam auf dem anderen? Alles ist besser als abtippen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
edit: war leider mist verzapft. deswegen ist folgende aussage falsch.
du musst try: und except SerialTimeout: (hoffe habs richtig im kopf) nehmen.
dein timeout ist immer wahr, da du es ja auf 20 setzt.
Zuletzt geändert von harryberlin am Freitag 2. August 2019, 11:10, insgesamt 1-mal geändert.
Leider nein, harryberlin. Bei einem gessetzten timeout kehrt der read-Aufruf einfach nur zurueck, mit den bis dahin gelesenen Bytes. Im Zweifel eben b"".