05.11.2013 Aufrufe

Projektbericht 796.8 KByte - Technikpreis

Projektbericht 796.8 KByte - Technikpreis

Projektbericht 796.8 KByte - Technikpreis

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

13 4 Software<br />

4 Software<br />

Zur Programmierung der Software habe ich mich für die Programmiersprache Delphi<br />

entschieden, da sie sowohl einfachen Gebrauch von der Windows-API machen kann als<br />

auch eine leichte Programmierung der Benutzeroberfläche ermöglicht und zudem objektorientiert<br />

ist.<br />

4.1 Steuerung des A/D-Wandler über serielle<br />

Schnittstelle<br />

Zunächst muss die serielle Schnittstelle geöffnet werden. Die Funktion CreateFile öffnet<br />

diese und gibt ein Handle von ihr zurück. Dies wird in der Variablen PortHandle<br />

gespeichert, da es später für den Aufruf der übrigen Funktionen benötigt wird.<br />

Die einzelnen Sendeleitungen werden mittels EscapeCommFunction gesetzt und zurückgesetzt.<br />

Der Status der Empfangsleitungen wird mit GetCommModemStatus abgefragt. Um<br />

den A/D-Wandler TLC549 nun abzufragen, wird zunächst der Variablen BitWert der<br />

Wert 128 und b der Wert 0 zugewiesen. Durch einmaliges ein- und ausschalten von RTS<br />

liefert der A/D-Wandler das höchstwertige Bit an der CTS-Leitung. Diese Leitung wird<br />

in einer for-Schleife achtmal abgefragt, während I/O-Clock weitergeschaltet wird. Am<br />

Ende ist in der Variablen b der Wert des TLC549 gespeichert und wird von der Funktion<br />

zurückgegeben.<br />

function TSerialThread.ByteRead : Integer; stdcall;<br />

var BitWert, b, i : Integer;<br />

BitWert := 128;<br />

b := 0;<br />

//Chipselect ein und ausschalten<br />

SetzeRTS;<br />

ClearRTS;<br />

//Am Dataout liegt jetzt das 1. Bit<br />

for i := 0 to 7 do // 8 mal weiterschalten

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!