Armins AVR-Buch - Datentypen_und_Variablen

⇑Datentypen_und_Variablen


(armin77, 25.01.2013, 08:38:49)

In diesem Beitrag geht es um ein sehr wichtiges Thema: Datentypen und Variablen
Eine Variable ist nichts anderes als ein Speicherbereich.
Wir müssen Bascom mitteilen wie groß der Speicherbereich der Variable sein soll.

In Bascom gibt es folgende Datentypen.

BIT: besteht aus nur einem Bit und kann 0 oder 1 enthalten
BYTE: besteht aus 8 Bit und kann Ganzzahlen von 0 bis 255 enthalten
WORD: besteht aus 16 Bit und kann Ganzzahlen von 0 bis 65535 enthalten
INTEGER: besteht aus 16 Bit und kann Ganzzahlen von -32768 bis +32767 enthalten
LONG: besteht aus 32 Bit und kann Ganzzahlen von -2147483648 bis 2147483647 enthalten
SINGLE: besteht aus 32 Bit und kann Fließkommazahlen von 1,5 x 10–45 bis 3,4 x 1038 enthalten
DOUBLE: besteht aus 64 Bit und kann Fließkommazahlen von 5,0 x 10–324 bis 1,7 x 10308 enthalten
STRING: Dieser Datentyp kann Text oder Zeichenfolgen mit der Länge von bis zu 254 Zeichen enthalten.

Am Anfang des Programmes muß man Bascom den Namen der Variablen und den Datentyp mitteilen.
Das geschieht mit dem Befehl DIM.

DIM Variablenname as BIT 'Bitvariable
DIM Variablenname as BYTE 'Bytevariable
DIM Variablenname(3) as BYTE 'Arrayvariable
DIM Variablenname as WORD 'Wordvariable
DIM Variablenname as SINGLE 'Singlevariable
DIM Variablenname as STRING * 10 'Stringvariable (Text, Zeichenfolgen)

Bei der Stringvariable wird mit dem * Zeichen die Länge des Textes oder der Zeichenfolge angegeben.
DIM Variable(3) as Byte bedeutet, daß drei Speicherbereiche mit dem selben Namen reserviert werden.
Man kann auf die einzelnen Speicherbereiche über den in Klammern geschriebenen Index zugreifen.
Also Variable(1), Variable(2), Variable(3). Dazu verwendet man oft einen Pointer (Zeiger) in Schleifen.

So schreibt man Werte in die Variablen:

Bitvariable = 1
Bytevariable = 50
Arrayvariable(1) = 50
Arrayvariable(2) = 100
Arrayvariable(3) = 150
Wordvariable= 6000
Singlevariable = 16.9
Textvariable = "Hallo Welt"

Man kann einer Variable auch den Wert einer anderen Variable übergeben.
Nur auf eines muß man achten. Man darf einer Variable keinen Wert übergeben, der nicht in die Variable rein paßt.
Also keine Wordvariable in eine Bytevariable.

Viel Spaß beim ausprobieren.