Schnittstellenfrage
-
Hallo,
ich habe eine Frage zum extrahieren der Daten, die mir eine serielle
Schnittstelle liefert. Ich habe ein Protokoll zu dem an ttyS0
angeschlossenem Gerät und das liefert mir ein Frame ind er Art:<--STX--><--Add--><--IdData--><--..DATAS..--><--ETX--><--CRC8-->
STX: Start (0x00 oder 0xA5)
Add: Zieladresse
IdData: IdentifikationsID
DATAS: Passende Information zu der ID
ETX: Ende des Frames (0x1F)
So, nun habe ich jede Menge Programm in C gefunden, die ttyS0
auslesen, aber die liefern mir entweder nur Zahlen oder nur ASCII
Zeichen. Aber ich muß ja jetzt anhannd der Protokolls die spannenden
Infos rausfiltern. Aber wie? Ein Bit kann doch immer nur 0 oder 1
sein, aber dann weiß ich doch nur, daß das Gerät einen Wert gesendet
hat, also zum Beispiel wenn das Gerät sendet, das ein bestimmter Wert
gemessen wurde und somit das Bit gesetzt ist (also 1), aber dann weiß
ich ja noch lange nicht, was denn der Wert nun ist. Also ich weuß zum
Beipiel dann, daß der Blutdruck gemessen wurde, aber ich weiß nicht,
wie hoch er ist. Ihr versteht, was ich meine? Ich wäre für einen Ruck
in die richtige Richtung echt dankbar. Ich möchte das ganze in C
machen. VIELEN DANK!!!!:-)
-
Ihr versteht, was ich meine?
Nö!
aber die liefern mir entweder nur Zahlen oder nur ASCII
Zeichen.Wie wär's mit:
c = fgetc(fd); if ((c >= 'A') && (c <= 'z')) printf("%c", c); else printf(" 0x%2X ", c);
dann kommen die nicht "sichtbaren" Zeichen als Hex-Code.
Martin