User manual
ASURO - 56
-
9. C für ASURO
Dieser Abschnitt beschäftigt sich mit der Programmiersprache C. Der Leser wird hierbei nur die für
die Programmierung von ASURO notwendigen Bestandteile von C erklärt bekommen. Dies stellt
also keinesfalls eine komplette Einführung in C dar. Hierfür gibt es bessere Bücher
1
.
C wurde als Sprache gewählt, da dieser Standard weit verbreitet ist und für fast jeden Prozessor,
zumindest ein C-Compiler existiert. Bei ASURO ndet der Gnu-C-Compiler Verwendung, da er
ein frei erhältliches Freeware-Programm ist und trotzdem gut optimierten Code für den ATmega8,
ASUROs Prozessor erzeugt.
Wer schon C Programmieren kann, der lese einfach bei Abschnitt
9.2 weiter. Der Rest ist für diese
Lesergruppe absolut uninterssant. Es werden wirklich nur die allernotwendigsten Sprachelemente
erklärt, um auf möglichst einfache Weise das Wissen zu vermitteln, welches für den Betrieb von
ASURO unbedingt notwendig ist.
Und keine Sorge, wenn man brav an seine Klammern und Strichpunkte denkt, ist C gar nicht so
schwer. Na und schließlich ist das auch kein Spielzeugroboter für den Kindergarten!
9.1. Grundlagen der C-Programmierung
9.1.1. Allgemeines
Prinzipiell wird ein C-Programm Anweisung nach Anweisung von oben nach unten vom Prozessor
abgearbeitet
2
. Gleichzeitige Ausführung von zwei Befehlen gibt es nicht, zumindest nicht bei
ASUROs Prozessor. Dementsprechend muss man denken: Ein Arbeitsauftrag nach dem anderen.
Die Leerzeichen am Anfang der Zeilen in den Beispielen sind nicht unbedingt erforderlich. Die
Methode des Einrückens ist aber sehr hilfreich, wenn es darum geht, auch längere Programme
überschaubar zu halten.
Jede Anweisung wird in C mit einem “;” abgeschlossen. Damit kann der Compiler die einzelnen
Anweisungen voneinander unterscheiden.
Sollen mehrere Anweisungen zusammengefasst werden, wie es für Funktionen, Schleifen oder
Bedingungen (dazu später) erforderlich ist, so wird dieser Anweisungsblock mit geschweiften
Klammern (“{”, “}”) eingeklammert.
Beispiel:
#include “asuro.h”
int main (void) {
/* Alles, was hier steht, gehört in einen Block */
}
1
Beispielsweise: Brian W. Kerninghan, Dennis M. Ritchie: “Programmieren in C”, Hanser Verlag, ISBN 3-446-15497-3
2
Methoden, welche in den sequentiellen Ablauf von Befehlen eingreifen, werden als Flusssteuerung bezeichnet und später
im Kapitel erklärt.