C# Serial Port langsamer senden

Kampfwurst Hugo

Lieutenant
Registriert
Jan. 2010
Beiträge
583
Hallo

Ich habe folgendes Problem

Ich wollte ein Programm schreiben um ein Gerät welches an einem Seriellen Port hängt zu programmieren.
Leider sendet der Serielle Port die Daten zu schnell. Ich brauche zwischen den Zeichen ca 5-10ms pause sonst "verschluckt" sich das Gerät ,-).

Die Baud Rate ist leider fix auf 9600.

Die Daten die ich über den Seriellen Port sende liegen in einer List<string>

Leider stehte ich momentan auf dem Schlauch.

Gruß Christoph
 
Bidirektionale Kommunikation ist vorhanden? Dann lass dir den Empfang jeder Zeichens bestätigen und sende erst danach das nächste. So verschwendest du nicht unnötig Zeit und bist dir sicher lange genug gewartet zu haben.
 
Hier die Daten des Seriellen Ports
9600 baud
8 data bits
1 stop bit
No parity
None (flow control)

Wie gesagt ich kann nichts auf dem Gerät einstellen.

Ich würde gerne etwas anders als ein Thread.Sleep() verwenden.
 
Dann sende die Zeichen doch in einem Timerevent, dann hast du die Zeitabstände in der Hand.
 
Kannst du mal ein paar zusätzliche Infos geben über das Gerät?
Weil das hier:
Ich brauche zwischen den Zeichen ca 5-10ms pause sonst "verschluckt" sich das Gerät ,-).
kann ich nicht so richtig glauben.. Kein vernünftig kaufbares Gerät sollte rs232 unterstützen wenn es so eine riesen Pause braucht pro Zeichen. 9600 Baud sind das dann nämlich niemals.. Reicht es evtl schon den sendenden (PC?) zu parametrieren und von zB 56000 auf 9600 runter zu stellen?
 
Du verwendest System.IO.Ports.SerialPort ? Weil dort kann man im Konstruktor schon die Baudrate übergeben ...
Falls nicht oder es immer noch Probleme macht poste doch mal den relevanten Code-Teil.
 
Zurück
Oben