> Trotz Software(Windows API) mässiger Abschaltung
> werden die DTR und RTS Leitungen beim senden und
> empfangen mit der Windows Funktion geschaltet
Das lässt darauf schließen, daß Du das Hardwarehandshake nicht
deaktiviert hast - das ist aber erforderlich, wenn Du's selbst machen
willst.
Hier sind diese Zeilen aus Olivers Posting relevant:
setDCB.fDtrControl = DTR_CONTROL_DISABLE;
setDCB.fRtsControl = RTS_CONTROL_DISABLE;
setDCB.fOutxCtsFlow = FALSE;
setDCB.fOutxDsrFlow = FALSE;
> Hat nicht jemand mal ohne Windows Funktion, also mit
> Hardware Treiber, die Serielle programmiert?
Das ist unter Windows nur mit einem Devicetreiber möglich. Warum aber
das Rad zweimal erfinden - Windows spricht ja die serielle
Schnittstelle auch über einen Devicetreiber an, und der funktioniert
...
Wenn man die Win32-API-Funktionen richtig verwendet, dann macht die
Schnittstelle auch genau das, was man von ihr möchte. Zugegeben, die
Dokumentation der entsprechenden Funktionen ist nicht die beste, aber
der Versuch, an Windows vorbei mit der Schnittstelle zu kommunizieren,
ist keine Lösung.
Einerseits würde so ein Ansatz nur mit der Standardhardware
(Onboard-Schnittstellen), nicht aber mit zusätzlichen Schnittstellen
auf PCI-Karten oder USB-Adaptern funktionieren, andererseits ist er
auch sehr kompliziert - einen funktionierenden Devicetreiber schreibt
man nicht mal eben so, das schaffen ja selbst die Hardwarehersteller
nicht oder nur mit Mühen.
Nee - lies Dir die Dokumentation der Win32-API-Funktionen noch mal
genauer durch; es gibt ausreichend Tutorials etc.