Guten Morgen,
2. verusch
Ich habe ein c-Programm geschrieben, dass Nachrichten aus einem TCP-IP-Socket auf ttyAMO schickt. An der seriellen Schnittstelle hängt ein RS485-Treiber (3485). Das nötige SenderEnable-Signal erzeuge ich mit GPIO17. Vor dem Senden Bit=1, nach dem Senden Bit=0. Das klappt auch.
Das Problem ist, dass das Senden nicht wirklich fertig ist, wenn die Senderoutine ohne Fehler zurückkehrt. Offenbar braucht das Linux noch etwas Zeit. Daher schalte ichdas Sender-Enable erst nach einem delay mit einer aus der Anzahl der zu sendenden Zeichen errechneten Zeit aus. Auch das klappt.
Ich suche nach einer Lösung, bei der das Errechnen der Wartezeit mit dem delay durch eine Abfrage, die das tatsächliche Ende des Sendevorgangs anzeigt, ersezt wird.
Bei Bedarf, kann ich gern Scopbilder und Programmcode liefern.
Hoffentlich klappt der Post diesmal
Uli