Hallo,
ich bin gerade dabei für eine digital gesteuerte Modelleisenbahn eine
Steuerung zu programmieren. Die Abläufe selbst funktionieren bislang
sehr gut, allerdings kann es schon mal vorkommen, dass über die
RS232-Schnittstelle zu viele Befehle an die Digitalzentrale (Intellibox
von Uhlenbrock) gesendet werden und der Speicher überläuft. Für solche
Fälle gibt es ja das Handshaking, welches von der Intellibox auch
ausdrücklich unterstützt wird. Frage ich jedoch über das
MSCOMM-Steuerelement die CTSHOLDING-Eigenschaft ab, steht die ständig
auf true und wird nie auf false gesetzt, selbst wenn der Speicher der
Digitalzentrale überläuft.
Hier das Sub, mit welchem ich die Daten an die Intellibox sende:
Sub IBCmd(Zeichenfolge as String)
Dim I as Integer
Dim Z as Sring
For I = 1 to len(Zeichenfolge)
Z=Mid$(Zeichenfolge,I,1)
Do until Me.mscomm1.CTSHolding=true
Loop
Me.mscomm1.Output=Z
next I
Ist zuvor noch etwas anderes einzustellen, damit die
CTSHolding-Eigenschaft korrekt funktioniert?
Die Handshake-Eigenschaften des MSCOMM habe ich auch alle durchprobiert
(XonXoff, COMRTS, COMRTSXonXoff), aber es hat nichts geholfen.
Wäre super, wenn Ihr mir helfen könntet.
Gruß
Christian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.