Die wichtigsten BASCOM-Befehle


Ansteuern der I/O-Ports (PortD)
PortD = 123
Auf den PortD wird der Wert 123 binär (8bit) ausgegeben. Zulässige Werte 0 bis 255
PortD.3 = 1
Das Datenbit 3 wird am PortD auf 1 gesetzt. Alle anderen Bits bleiben unverändert. Zulässige Werte 0 und 1
A= PinD.3
Der Variabel A wird der Wert des Portbits 3 zugewiesen. Nur sinnvoll wenn das Portbit auf Eingang gesetzt ist

Hinweis:
Die anderen Ports (A, B,C) sollte mann direkt nicht ansprechen, da hier Sonderfunktionen aufgeschaltet sind.



Dimensionierung von Variabeln

Alle verwendeten Variabeln müssen vor der Verwendung dimensioniert werden. Neben Zahlen kennt Bascom auch Zeichenketten (Strings).

Dim A as
byte (Ganzzahlen zwischen 0 und 255)

bit (0 und 1)

integer (-32768 bis +32768 als Ganzzahl)

word (Ganzzahl 16bit ohne Vorzeichen)

dword (Ganzzahl 32bit ohne Vorzeichen)

long (32bit mit Vorzeichen (siehe integer))

single (32bit 1,5 10-45 bis 3,4 1038 mit Vorzeichen)

double 64bit 5,0 10-324 bis 1,7 10308 mit Vorzeichen)

string * x (x ist die Zeichenkettenlänge maximal 254)

Hinweis: Jede Variabel benötigt SRAM-Speicherplatz und dieser ist beim ATMEGA nur 1024bit groß!



Schleifen

For I = 1 to 10
.....
Next I
Die Schleife wird 10 mal durchlaufen und dann verlassen
Mit dem Befehl step kann die Schrittweite festgelegt werden
Do
.....
Loop
Die Befehle zwischen Do und Loop werden endlos wiederholt
mit until kann ein Abbruch der Schleife erzwungen werden

Beispiele:

For I = 1 to 10 Step 2

PortD = I

Next I

***************

Do

PortD = I

Loop Until I = 10


Verzweigungen

IF I = 10 then
....
Else
....
Endif
Wenn I den Wert 10 angenommen hat, dann werden die nachfolgenden Befehle ausgeführt

Mit Else legt man fest was passiert, wenn I nicht den Wert 10 hat

Mit Endif beendet man die Verzweigung

Beispiel:

If  I = 10 then

PortD.0 =1

Else

PortD.0 =0

endif

Hinweis: Hat man mehrere Auswahlmöglichkeiten, so sollte man auf Select Case zurückgreifen.




Unterprogramme

Möchte man mehrere Befehle in einem Programm mehrmals ausführen, so ist es sinnvoll ein Unterprogramm zu schreiben und dieses dann jeweils aufzurufen.

Declare Sub Settime
Bevor ein Unterprogramm geschrieben wird, muss dieses deklariert werden.
Sub Settime
.....
End Sub
Alle Befehle, die zwischen Sub Settime und End Sub stehen bilden das Unterprogramm
Call Settime
Ruft das Unterprogramm auf

Ein Beispiel für Unterprogramme ist die der RTC zu finden.

Hinweis: Man sollte keine ineinander verschachtelten Unterprogramme erzeugen, da jeder Aufruf mit Call einen Speicherplatz im Stackspeicher benötigt und dies zu einem Überlauf dieses Speichers führen kann.



Weiterführende Links

BASCOM selbst hat eine umfangreiche Hilfefunktion für alle Befehle in englischer Sprache.

Eine deutsche Anleitung ist hier zu finden.