Hallo Enrico!
Den Zustand der Rxd-Leitung wirst Du wohl nicht auslesen können, da Dein Programm sicher nicht schnell genug ist!
Das ist nämlich die Empfangsleitung, auf der die Daten ankommen.
Die Leitung wird auf 1 gehalten. Dann kommt für genau 1 Bitlänge (Zeit) eine 0 (Startbit), dann 7 oder 8 Datenbits, ggf. ein Paritätsbit und dann für mindestens 1, 1,5 oder 2 Bitlängen eine 1 (Stopbit).
Das nennt man eine asynchrone Übertragung, weil erst mit dem Startbit zu beliebiger Zeit die Übertragung gestartet wird.
Bei seriellen Schnittstellen kann man neben der Geschwindigkeit noch einstellen: 7 oder 8 Datenbist, keine/gerade/ungerade Parität und 1/1,5/2 Stopbit. Heutzutage ist üblich, 8 Datenbits, keine Parität und 1 Stopbit zu verwenden.
Zum Auslesen des Wertes muß das Datenregister der Schnittstelle ausgelesen werden. Die klassische Schnittstelle konnte übrigens nur 1 Zeichen empfangen - kam vor dem Abholen ein neues - wech iss das erste! Bei FiFo-Schnittstellen ist ein Speicher für einige Zeichen vorhanden. Auch da gilt: das n+1. Zeichen löscht das erste.
Die einzige Möglichkeit, "statische" Signale auszuwerten, besteht im Ziehen auf 0 für 1 Bit und dann mindesten 9 Bits Ruhe - wird interpretiert als $FF, also alle Bits gesetzt. Quasi ein Alarmspeicher - wenn ein Zeichen in der Schnittstelle ist, hat es mindestens einmal geklingelt!
Achtung: länger als Start + Datenbits + Parität sollte man die Leitung nicht auf 0 halten, da dann wegen fehlendem Stop-Bit ein Fehler erkannt wird.
Als weiteren statischen Eingang hätte ich noch RI (Ring Indicator, also das Tele bimmelt) anzubieten.
Gruß
Dietmar Brüggendiek