User manual

RP6 ROBOT SYSTEM - 4. Programmierung des RP6
4.4.3. C Grundlagen
Wie schon zu Beginn gesagt, besteht ein C Programm aus reinem ASCII (American
Standard Code for Information Interchage) Text. Es wird dabei strikt zwischen Groß-
und Kleinschreibung unterschieden. Das heisst sie müssen eine Funktion die
"ichBinEineFunktion" heisst, auch immer genau so aufrufen! Der Aufruf:
"IcHbInEiNeFuNkTIoN();" würde so nämlich nicht funktionieren!
Man kann zwischen den einzelnen Befehlen und Anweisungen beliebig viele Leerzei-
chen, Tabulatoren und Zeilenumbrüche einfügen ohne das sich die Bedeutung des
Programms ändert.
Sie haben ja schon bei dem Beispielprogramm gesehen, dass die Befehle mit Tabula-
toren eingerückt worden sind, um das Programm besser lesbar zu machen. Notwendig
ist das aber nicht! Den Teil ab Zeile 7 vom Listing oben könnte man z.B. auch so
schreiben:
1 int main(void){initRobotBase();writeString("Hallo Welt!\n");return 0;}
Das ist von der Bedeutung her identisch aber etwas unübersichtlich. Hier wurden
nur die Zeilenumbrüche und Einrückungen entfernt! Dem Compiler ist das völlig egal!
(Einige Leerzeichen z.B. zwischen „int“ und „main“ sind natürlich immer notwendig um
einzelne Schlüsselwörter und Bezeichner zu trennen und innerhalb von Anführungszei-
chen darf man auch nicht einfach so einen Zeilenumbruch einfügen!)
Mehrere Anweisungen werden mit den oben angesprochenen geschweiften Klammern
{ } zu sog. Blöcken zusammengefasst. Das brauchen wir bei Funktionen, Bedingungen
und Schleifen.
Jede Anweisung wird mit einem Semikolon ';' beendet, so kann der Compiler die An-
weisungen auseinanderhalten.
Ein wichtiger Hinweis gleich zu Beginn, wenn Sie die Programme in diesem Tutorial
abtippen wollen: Man vergisst sehr leicht die Befehle jeweils mit einem Semikolon zu
beenden oder setzt eins an eine falsche Stelle und wundert sich dann, warum das
Programm nicht das tut was es soll! Vergisst man ein einziges Semikolon in bestimm-
ten Programmteilen, kann der Compiler übrigens gleich einen ganzen Haufen von Feh-
lermeldungen erzeugen auch wenn es eigentlich nur ein einziger Fehler ist. Meist
zeigt schon die erste Fehlermeldung den tatsächlichen Fehler an.
Auch vergisst man gern eine der vielen Klammern zu schließen oder vertut sich mit
der Schreibweise von Befehlen. Der Compiler verzeiht keine Syntax Fehler (= „Recht-
schreibfehler“)! Das ist vielleicht erstmal gewöhnungsbedürftig sich an all diese Re-
geln zu halten, aber das lernt man nachdem man einige Programme selbst geschrie-
ben hat relativ schnell.
Jedes C Programm beginnt in der Main Funktion. Die dann folgenden Befehle werden
grundsätzlich sequentiell, Anweisung nach Anweisung von oben nach unten abgear-
beitet. Mehrere Befehle gleichzeitig kann ein AVR Mikrocontroller nicht ausführen!
Das macht aber nichts, denn es gibt viele Möglichkeiten, den Progammablauf zu be-
einflussen und an andere Stellen im Programm zu springen (mit sog. Flusssteuerung,
dazu kommen wir später).
- 66 -