serielle Schnittstelle unter C ansteuern

Dice

Grünschnabel
Ich möchte unter Linux ein serielles Device über ein C-Programm ansteuern. Ich schicke eine Anfrage in Form von Zeichen und erwarte dann ein Antwort.
Es funktioniert auch, aber nicht immer. Im Schnitt gehen 50% der Anfragen an das Device verloren bzw. ich bekomme keine Antwort. Es sind nur Ground, TXD und RXD angeschlossen.
Hat jemand eine Idee woran das liegt?
Bin für jeden Kommentar dankbar.
Gruß Daniel
 
Mein erster Gedanke ist dass du einfach in der falschen Geschwindigkeit schickst, also zu schnell oder zu langsam (wobei ich glaub ehr zu schnell)
 
Danke für die schnelle Antwort.
Das Device setzt 9600Baud vorraus. So habe ich auch die Schnittstelle initialisiert. Trotzdem geht die Hälfte der Anfragen verloren.
Daniel
 
Könnte es sein, daß Du die Befehle an die RS232 zu schnell hintereinander sendest? Hier könnte eine Wartezeitfunktion helfen (ca. 100-200ms zwischen den Befehlen). Hat zumindest bei mir geholfen. Ohne die werden die Daten im Empfangspuffer zu schnell überschrieben und daher irgendwann nicht mehr richtig verstanden.
 
Zurück