Autor Beitrag
enricoT
Hält's aus hier
Beiträge: 7

Linux, WindowsXP
D7
BeitragVerfasst: Fr 29.08.03 18:27 
Hallo, ich schreibe grade an einem Prog wwelches die serielle Schnittstelle testen soll.
Mit EscapeComfunction kann ich den Status von DSR und CTS abfragen und so feststellen ob sie gesetzt sind oder nicht.
Diesen Zustand stelle ich in einem Shape graphisch dar.

Nun mein Problem wie kann ich testen ob RXD HIGH oder LOW ist, die möchte ich ebenfalls in einem Shap darstellen!

Jede kleine Idee wwürde mir weiterhelfen.

EnricoT

The Life is only a Bug in Cods Assembler Code! :twisted:
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Fr 29.08.03 22:31 
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
enricoT Threadstarter
Hält's aus hier
Beiträge: 7

Linux, WindowsXP
D7
BeitragVerfasst: Fr 29.08.03 22:57 
Titel: Re Datenregister
Kann ich das mit writefile und readfile machen?
Denn wenn ich eine Asm-Routine schreibe werde ich bei Befehlen wie out und int ja zurückgewiesen.

Andere Frage gibt es einen Befehl mit welchem ich den Speiche löschen kann in welchem die gesendeten Byte stehen?