C Control I Unit-M 2.0 BASIC 5 Vdc Inputs / outputs 16 x digital I/Os/8 x analog or digital I/Os/2 x analogue outputs (s 198822 Datenbogen

Produktcode
198822
Seite von 37
 
26
werden. CCBASIC enthält dafür einige vordefinierte Konstanten: R1200, R2400, R4800, R9600 für die 
Raten 1200 bis 9600 Bit pro Sekunde. 
 
BAUD R2400 
 
schaltet beispielsweise Sender und Empfänger auf die Rate von 2400 Bit pro Sekunde um.  
 
Die weiteren Schnittstellenparameter - 8 Datenbits, kein Paritätsbit, 1 Stopbit -sind 
fest und können nicht geändert werden. Die Handshake-Signale RTS und CTS werden in der 
aktuellen Version nicht verwendet und sind in CCBASIC-Programmen nicht ansprechbar. 
 
Dateifunktionen
 
Die Dateifunktionen erlauben das Aufzeichnen von Messwerten oder anderen Daten oder können zum 
Abspeichern von Information benutzt werden, die nach Ausfall der Betriebsspannung wieder in die 
Programm-variablen geladen werden sollen. Der Speicherbereich im FLASH Speicher nach dem 
Anwenderprogramm –meist der größte Teil - steht für diesen Zweck zur Verfügung. Der Speicher-
Bereich wird als eine Datei verwaltet, auf die lesend oder schreibend zugegriffen werden kann, 
nachdem sie mit dem entsprechenden Attribut geöffnet wurde. Der Befehl zum Öffnen der Datei lautet 
wie folgt: 
 
OPEN# FOR WRITE 
OPEN# F OR APPEND 
OPEN# FOR READ 
 
Dabei bedeutet WRITE das Öffnen zum Schreiben mit Überschreiben eventueller alter 
Aufzeichnungen, 
APPEND das Öffnen zum Schreiben mit Anhängen der neuen an die alten Aufzeichnungen und 
READ das Öffnen zum Auslesen der Aufzeichnungen. 
Es können nur Integerwerte gespeichert und gelesen werden. Jeder Wert belegt also 2 Bytes im 
Speicher. Das Schreiben und Lesen erfolgt mit den Befehlen 
 
PRINT# term 
 
wobei das berechnete Ergebnis des Terms gespeichert wird, beziehungsweise 
 
INPUT# variable 
 
,wobei variable eine definierte Integervariable des Programms bezeichnet. Schreiben in und Lesen 
aus der Datei erfolgt streng sequentiell. Dafür wird intern ein Dateizeiger verwaltet, der nach jedem 
Zugriff um 1 erhöht wird. Vor jedem Schreiben sollte geprüft werden, ob noch genügend Platz im 
Speicher zur Aufnahme der Daten vorhanden ist. Dafür kann die Funktion FILEFREE abgefragt 
werden, die als Ergebnis die Größe des noch freien Speichers liefert (in Words). Folgendes Beispiel 
zeigt die Anwendung der Funktion 
 
DEFINE a WORD 
DEFINE b WORD 
DEFINE c WORD 
DEFINE blocksize 3 
. . . 
IF FILEFREE >= blocksize THEN GOSUB writeblock 
. . . 
#writeblock 
PRINT# a 
PRINT# b 
PRINT# c 
RETURN 
 
Vor jedem Lesen sollte geprüft werden, ob noch weitere Daten aufgezeichnet sind. Die Funktion dafür 
lautet EOF (,,end of file”). Ihr Ergebnis ist -1, wenn in der Datei keine weiteren Daten verfügbar sind,