Das ist meine Unit für Turbo-Pascal 5.0. Sie ist die Basis für meine Programme und enthält folgenden Prozeduren und Funktionen:
- procedure Init;
- procedure SetPIN (PIN : byte);
- procedure ClearPIN (PIN : byte);
- function GetPIN (PIN : byte) : Boolean;
- function GetVolt : Real;
- function GetSteps : Integer;
- function GetTemperature : Real;
procedure Init
Muß man immer am Anfang des Programms aufrufen.
procedure SetPIN (PIN : byte)
Setzt einen Ausgang auf 'High'. Mögliche Werte für PIN sind TXD, DTR, RTS, CTS, DSR, RI, DCD. Was diese Konstanten bedeuten, kann man bei 'ELEXS' nachlesen.
procedure ClearPIN (PIN : byte)
Setzt einen Ausgang auf 'Low'. Mögliche Werte für PIN sind TXD, DTR, RTS, CTS, DSR, RI, DCD. Was diese Konstanten bedeuten, kann man bei 'ELEXS' nachlesen.
function GetPIN (PIN : byte) : Boolean
Prüft, ob an einem Eingang 'Low' oder 'High' anliegt. Gibt 'False' oder 'True' zurück. Mögliche Werte für PIN sind TXD, DTR, RTS, CTS, DSR, RI, DCD. Was diese Konstanten bedeuten, kann man bei 'ELEXS' nachlesen.
function GetVolt : Real
Gibt die am Analog/Digital-Wandler anliegende Spannung in Volt zurück. Bereich ist ca. 0.2 - 7 Volt.
function GetSteps : Integer
Gibt die Spannung in Form eines Integer-Zahlenwertes zurück. Bereich ist 89 - 243. Wer selbst noch Turbo-Pascal einsetzt, kann diesen Bereich anpassen und vielleicht durch Feintuning die Genauigkeit noch etwas verbessern.
function GetTemperature : Real
Gibt die aktuelle Temperatur eines angeschlossenen Conrad Temperatur-Moduls zurück.
Meine ursprünglichen Probleme beim Umsetzen des Visual Basic Code in Turbo-Pascal waren im wesentlichen darin begründet, dass ich fälschlicherweise dachte, dass der elektronische Vorgang viel zu schnell für einen Palmtop sei. Die Annahme basierte auf der Vorstellung, dass ELEXS ja für moderne (und damit mehrhundertfach schnellere) Computer konzipiert ist, meinem Versäumnis die Dauer der Aufladung des Kondensators nachzurechnen und dem fehlenden Quellcode für die Prozedur TIMEINIT und der Funktion TIMEREAD () aus der ELEXS.DLL, so daß ich deren Funktionsweise bis heute nicht verstehe.
Aber der Vorgang dauert lange genug, so dass auch mit Turbo-Pascal auf einem Palmtop vernünftige Werte ermittelt werden können.