Gast
#2927742
Hallo Ich versuche Daten von einem Sensor mithilfe eines kleinen C-Programmes auf der Konsole meines PC (linux) darzustellen. Die Kommunikation erfolt über RS232. Der C-Code ist soweit fertig und funktioniert bis auf ein kleines Problem. Der Sensor sendet ca. 100 Datenpackete pro Sekunde. Wenn ich nun in meinem Programm in einer Endlosschleife mit dem Befehl read(...) die Daten aus dem Buffer lese und ausgebe (printf() ) so funktioniert alles wie gewollt. Nun möchte ich jedoch nicht 100 Datenwerte pro Sekunde angezeigt haben sondern nur den akutellen Wert jede Sekunde. Also baue ich ein Delay ein um die Ausgabe zu verlangsamen, nun erhalte ich jedoch nicht den aktuellen Wert von read(...), sondern <dies ist eine Hypothese von mir> den ältesten im Empfangsbuffer abgelegten Wert. Also was ich schlussendlich möchte: Ich möchte einen Buffer, ca. 16 Bytes in dem immer nur das aktuelle Datenpacket zu finden ist. Falls ich einen Wert noch nicht gelesen habe, so soll der neue Wert den aktuellen überschreiben. Kann mir bitte jemand einen Lösungsansatz bieten? Ich danke schon im Voraus für eure möglichen Bemühungen.