BASCOM Kurzbefehlsübersicht
Ports, Variablen, Schleifen, Verzweigung
Befehl | Erklärung |
---|---|
Do … Loop | führt die Befehle … in einer Endlosschleife aus |
PortB.x = 1 | setzt am Ausgang x von Port B ein 1-Signal (LED an); 0 x 7 |
PortB.x = 0 | setzt am Ausgang x von Port B ein 0-Signal (LED aus); 0 x 7 |
wait y | wartet y Sekunden |
waitms y | wartet y Millisekunden |
PortB = 206 | legt das Bitmuster von 206 (=110011102) an die Ausgänge von PortB |
PortB = &B11001110 | entspricht PortB = 206 |
dim x as byte | Deklaration einer Variablen vom Typ BYTE |
x = 5 | weist der Variablen x den Wert 5 zu |
x = x + 1 | erhöht den Wert der Variablen x um 1 |
if <Bedingung> then <Ein Befehl> else <Ein Befehl> Verzweigung (eine einzige Zeile!) | |
x = PinD.0 | weist der Variablen x den Zustand (1 oder 0) des Eingangs 0 von Port D zu |
ddrb = &B11110000 | setzt das Datenrichtungsbyte von Port B auf den Wert 240; dadurch werden die Bits 0 bis 3 als Eingänge (Vorgabewert) und die Bits 4 bis 7 als Ausgänge konfiguriert (vgl. Schaltermodell) |
ddrd = … | wie ddrb, nur diesmal für Port D |
Serielle Schnittstelle, Zählschleifen, Zeichenketten, Unterprogramme
Befehl | Erklärung |
---|---|
$baud = … | schaltet die serielle Schnittstelle ein, initialisiert sie (8Bit, keine Parität, 1 Stoppbit) und legt die Baudrate fest. |
printbin x | gibt den Wert der Variablen x über die serielle Schnittstelle aus. |
inputbin y | wartet auf den Empfang eines Bytes über die serielle Schnittstelle und speichert den Wert in der Variablen y. |
dim s as string*20 | deklariert die Variable s als Zeichenkette mit 20 Zeichen. |
s = “Hallo Welt” | speichert die Zeichenkette “Hallo Welt” in der Variablen s. Die aktuelle Länge der Zeichenkette (hier 10) muss kleiner oder gleich der in der Deklaration angegebenen Maximalzahl sein. |
print s | gibt die Zeichenkette als Serie von ASCII-Codes über die serielle Schnittstelle aus. Die Zeichenkette wird mit den Steuerzeichen CR und LF (Wagenrücklauf und Zeilenvorschub) abgeschlossen. |
input s | wartet auf die Übertragung von 20 Zeichen (vgl. Deklaration von s) über die serielle Schnittstelle und speichert sie in der Variablen s. Eingabe mit CR abschließen, d. h. am Schluss Zahl 13 senden! |
x = len(s) | bestimmt die aktuelle Länge der Zeichenkette und speichert sie in der Variablen x |
y = mid(s,i,1) | bestimmt den i-ten Buchstaben in der Zeichenkette s und speichert ihn (bzw. seinen ASCII-Code) in der Variablen y; die Zählung beginnt bei 1. |
declare sub uprg | deklariert das Unterprogramm uprg; das Unterprogramm kann auch einen oder mehrere Parameter besitzen, z. B. declare sub sende(c as byte). |
call uprg | ruft das Unterprogramm uprg auf. |
sub uprg <Befehle> end sub | definiert das Unterprogramm uprg. |
for i = 1 to 10 <Befehle> next i | führt <Befehle> 10 mal aus (Zählschleife). |