ich hoffe, das Thema wurde hier noch nicht in einem anderen Thread behandelt, aber momentan funktioniert bei mir die Suchfunktion nicht.
Ich möchte auf einem Raspberry mit Python ein Script schreiben welches über die serielle Schnittstelle ein Stärz Interface steuert. Das Stärz Interface arbeitet nach dem Trix Standard.
Zum Schreiben werden 2 Bytes gesendet. Als erstes ein Byte mit der Adresse incl. einem Schreib-/Lesebit, als zweites ein Byte mit den gewünschten Daten. Das funktioniert bisher auch.
Jetzt meine Frage: In dem Script sollen später mehrere solcher Datenpakete hintereinander gesendet werden. Was passiert, wenn ein Byte nicht korrekt übertragen wird. Dann kann das Interface das Byte nicht auswerten. Da der Schreibzugriff immer aus 2 aufeinander folgenden Bytes besteht, aber nur ein Byte fehlt, müsste es jetzt zu einer Verschiebung kommen und es entsteht "Unsinn".
Ich finde keine Information darüber, ob und wie hier eine Synchronisierung vorgesehen ist. Hat hier jemand informationen darüber?
in der SelecTrix Beschreibung von Trix/Minitrix unter Programmierhinweise finden Sie folgendes:
- Protokoll RS-232: Keine Paritaetspruefung, Steurleitungen unbenutz (kein Handshake).
- Schreib Operationen: Die Zeit zwisschen Adresse und Steuerbyte darf die Zeit von 10 bit nicht ueberschreiten.
Es gibt m.E. keine Sicherheit das ein Befehl richtig empfangen und verarbeitet worden ist. In meinem Programm habe ich ein deshalb eine Wartezeit zwischen die Befehle programmiert. Die Laenge habe ich empirisch erfunden.
danke für deine Antwort. Bei 19200 Baud haben die 10 Bits zusammen eine ungefähre Länge von 521µs. Ich denke ich baue da eine Zeitverzögerung von 1ms ein und gut ist.