SWCOM.C2 V1.3 - Hilfe


Beschreibung

Einfügen als System-Modul

Funktionen:

init()
setspeed()
setbuf()
flush()
rxd()
get()
receive()
input()
inputstr()
ready()
put()
putint()
putlong()
send()
print2()
print()

num()
ret()
tab()
clr()
esc()


Beschreibung   Nach oben

Das Modul hwcom.c2 erlaubt den einfachen Zugriff auf die Hardware RS232
C-Control II Unit.

Einfügen als System-Modul   Nach oben

Die Datei hwcom.c2 in das Verzeichnis .\CControl2\Lib kopieren.


Funktionen:


Schnittstelle initialisieren   Nach oben

    inline function init() returns int

Die Funktion init initialisiert die serielle Schnittstelle.

Übertragunsrate festlegen   Nach oben

    inline function setspeed(int speed)

Mit dieser Funktionen wird die Übertragungsrate von hwcom festgelegt.
Werte für Baudraten:
Wert Baudrate   Wert Baudrate
0 300   5 9600
1 600   6 19200
2 1200   7 38400
3 2400   8 57600
4 4800   9 115200
 

speed Wert für Baudrate


erweiternten Empfangspuffer festlegen   Nach oben

    inline function setbuf(byte buf, int len)

Das Betriebssystem implementiert für beide seriellen Schnittstellen standardmäßig je einen
Empfangspuffer von 64 Byte.In Applikationen,in denen größere Datenblöcke zu
empfangen sind,sollte ein erweiterter Empfangspfuffer reserviert werden.Anderenfalls
kann es zum Verlust empfangener Daten führen,die vom Programm nicht schnell genug
aus dem Puffer gelesen werden.

buf[] globales Bytearray für den Empfangspuffer
len größe des Puffers in Byte


Empfangspuffer löschen
  Nach oben

    inline function flush()

Mit flush() werden alle sich im Empfangspuffer befindenden Daten gelöscht.

Auf Empfang prüfen   Nach oben

    inline function rxd() returns int

Mit rxd() wird geprüft, ob sich Daten im Empfangs-FIFO befinden.
Es wird True(-1) zurückgegeben, wenn sich Daten im FIFO befinden,
andernfalls False(0).

Einzenes Byte empfangen   Nach oben

    inline function get() returns int

Mit get() wird ein einzelnes Byte aus dem Empfangspuffer gelesen
und zurückgegeben.

Empfang von Datenrahmen   Nach oben

    function receive(byte buf[], int len, long timeout) returns int

Die Funktion receive() empfängt eine angebebene Anzahl an Datenbytes und
speichert diese in den angegebenen Byte-Puffer.
Werden für länger als das angegebene Timeout keine weiteren Daten
empfangen, so bricht die Funktion vorzeitig ab und gibt die Anzahl
der tatsächlich empfangenen Bytes zurück.

buf[] Byte-Puffer für die zu empfangenen Daten
len Anzahl der zu empfangenen Bytes
timeout Zeit in ms, die auf Daten gewartet werden soll,
bis abgeprochen wird.

 

Input - Eingabe von Zahlenwerten   Nach oben

    function input(byte echo) returns int

Mit dieser Funktion können z.B. uber ein Terminal-Programm Zahleneingaben
als ASCII-Zeichenfolge gemacht werden. Die eingebene Zahl muß mit CR+LF (ASCII 13+10)
abgeschlossen werden.
Die Zahl wird anschließend als Integer-Zahl zurückgegeben.
Mit dem Parameter echo kann bestimmt werden, ob während der Eingabe
ein Echo zurückgegeben werden soll.

echo Echo zurückgeben

 

Inputstr - Eingabe von Zeichenketten   Nach oben

    function inputstr(byte s[], byte echo) returns int

Mit dieser Funktion können z.B. uber ein Terminal-Programm Zeichenketten
eingeben werden. Die eingebene Zeichenkette muß mit CR+LF (ASCII 13+10)
abgeschlossen werden.
Die Zeichenkette wird in der agegebenen Stringvariable gespeichert.
Mit dem Parameter echo kann bestimmt werden, ob während der Eingabe
ein Echo zurückgegeben werden soll.

s[] String-Variable
echo Echo zurückgeben


Sendebereitschaft prüfen   Nach oben

    inline function ready() returns int

Mit ready() wird auf Sendebereitschaft geprüft.
Es wird True(-1) zurückgegeben, wenn der Sende-FIFO leer ist,
andernfalls False(0).
Alle Funktionen, die Daten senden, prüfen selbständig auf Sendebereitschaft
und warten ggf. solange bis gesendet werden kann.

 

Einzelnes Datenbyte senden   Nach oben

    function put(byte c)

Mit put() wird ein einzelnes Datenbyte/Zeichen gesendet.
Die Funktion wartet ggf. auf Sendebereitschaft.

c Datenbyte (0-255)

Integerwert senden   Nach oben

    function putint(int num)

Mit putint() wird ein Integer-Wert in zwei Bytes aufgeteilt und als MSB-first gesendet.

num Integerwert (0x0000 bis 0xFFFF)

 

Long-wert senden   Nach oben

    function putlong(int num)

Mit putlong() wird ein Long-Wert in vier Bytes aufgeteilt und als MSB-first gesendet.

num Longwert (0x00000000 bis 0xFFFFFFFF)


Byte-Puffer senden   Nach oben

    function send(byte buf[], int len)

Mit send() wird die angegebene Anzahl an Bytes einer Bytepuffervariable gesendet.
Die Funktion wartet ggf. auf Sendebereitschaft.

buf[] Byte-Puffer
len Anzahl der zu sendenden Bytes

 

Zeichenkette senden   Nach oben

    function print2(string s)
    function print(string s)

Mit print() und print2() wird der Inhalt eines Strings gesendet.(Max. 30 Zeichen)
Bei print() können direkt Zeichenketten übergeben werden.
Die Funktion wartet ggf. auf Sendebereitschaft.

s Zeichenkette

Zahlen als Zeichenfolge senden   Nach oben

    function num(int num)

Mit num() wird sie übergenene Zahl als Zeichenfolge gesendet.

num Zahl (Byte, Integer und Long)


Steuerzeichen   Nach oben

    function ret()
    function tab()
    function clr()
    function esc()

// CR+LF senden (Enter/Return)
// Tab senden
// Clear Screen senden
// ESC(ASCII 27) senden

Mit diesen Funktionen können die Steuerzeichen CR+LF für einen Zeilenvorschub(ASCII 13+10),
Tabulator (ASCII 9) und Clear Screen (ASCII 12) für Terminalprogramme gesendet werden.
Diese Funktion warten ggf. auf Sendebereitschaft.



Autor: André Helbig    Mail: andre.h@cc2net.de    Erstellt: 23.11.2003