ingo schrieb:
> Wenn die SW im Schnittstellen-DCB das Flag "fRtsControl" auf
> RTS_CONTROL_ENABLE setzen würde, dann würde der Schnittstellentreiber
> das übernehmen.
Nein, das ist nur Hardwarehandshake via RTS/CTS, nicht aber das hier
erforderliche Steuern des RS485-Konverters per "missbrauchter"
Handshake-Leitung.
Hierfür ist es dringend anzuraten, eine Schnittstelle mit integrierter
Hardwareunterstützung für RS485-Senderumschaltung zu verwenden, wie sie
z.B. auch bei den USB-Seriell-Bridges von FTDI vorhanden ist. Serielle
Schnittstellen z.B. von Oxford Semiconductor/PLX unterstützen das auch,
das muss aber im Devicetreiber aktiviert werden.
Die Standardschnittstellen (mit 16550 oder 8250) des PCs können das
hingegen nicht, und da muss die missbrauchte Handshakeleitung /per
Software/ angesteuert werden. Wichtig ist hierbei, nicht zu früh nach
dem Absenden von Daten den Sender zu deaktivieren, da durch
Treiberpuffer und Hardwaresendefifos die Daten aus Sicht der Software
deutlich schneller abgesendet erscheinen, als sie tatsächlich die
Schnittstelle verlassen haben.
Tut das das verwendete Programm nicht, hilft nur die Verwendung einer
geeigneten Schnittstelle.