Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
You are viewing an older revision! See the latest version
Anatomie eines ANSI C Programmes
/* Kommentare */ #include <stdio.h> int main(void) { printf("Hello Bulme\n"); // Kommentar bis zum Ende der Zeile return 0; }
main() | ist das Hauptprogramm in Gestalt einer Funktion und besteht aus einer Gruppe zusammengehörender Anweisungen (statements) oder Befehlen (instructions). Sie muss vorkommen bzw. darf nur ein einziges Mal vorkommen und ist der Teil des Programms, der beim Start ausgeführt wird. Das Betriebssystem ruft diese Funktion auf, wenn das Programm gestartet wird. |
void | steht für einen „leeren“ Datentype und bedeutet, dass keine Werte vom Betriebssystem erwartet werden. Steht z.B. void main() so wird kein Ergebnis an das Betriebssystem zurückgegeben. |
{ } | geschweifte Klammern stehen am Anfang und Ende der Funktion. Alles was ein Programm macht wird zwischen der ersten und der dazugehörigen letzten geschweiften Klammer beschrieben und als Funktionskörper (function body) bezeichnet. |
printf() | printf() ist eine Funktion, die in der Headerdatei stdio.h deklariert ist. Deswegen kann der Compiler, wenn Sie diese Headerdatei nicht im Programm angegeben haben, nichts mit printf() anfangen. Mit der Funktion printf() kann eine beliebige Stringkonstante formatiert auf dem Bildschirm ausgegeben werden. |
Semikolon(;) | zeigt das Ende einer Anweisung an. Der Compiler weiß dann, hier ist das Ende der Anweisung von printf() und fährt nach der Abarbeitung der Anweisung fort. |
return 0; | gibt 0 an das Betriebssystem zurück, das heißt alles OK! |
#include | Präprozessor Direktiven: C/C++ besitzt nur kleinen Kern (core) von eingebauten Befehlen. Der Rest ist in Bibliotheksfunktionen (standard library file) implementiert. Nachdem mit der #include-Anweisung das headerfile zur Bibliothek stdio eingebunden wurde, können wir nun die Funktion printf() nutzen, der Text auf den Bildschirm ausgibt (z.B. printf()ist deklariert in stdio.h). |
\n | ist ein Steuerzeichen (Escape-Sequenzen) in Zeichenkonstanten hier: NL (newline) – Cursor geht zum Anfang der nächsten Zeile. |
/* */ | Kommentare werden beginnend mit zwei Schrägstrichen (bis zum Zeilenende oder zwischen /* Hier steht der Kommentar */ geschrieben. |
Das Hello World-Programm für Mikrocontroller ist typischerweise ein LED-Blink Programm und sieht meist folgendermaßen so aus wie das in der mbed-Umgebung verwendete:
#include "mbed.h" DigitalOut myled(LED1); // Instanziierung des Objekts myled int main() { while(1) { myled = 1; wait(0.2); myled = 0; wait(0.2); } }
Oder im mbed Simulator:
#include "mbed.h" DigitalOut led(LED1); // Instanziierung des Objekts led int main() { while (1) { led = !led; printf("Blink! LED is now %d\n", led.read()); // Zugriff auf die Methode read über den "."-Operator wait_ms(500); } }
Wo liegen die Unterschiede?