Falls du das verlinkte Make installiert hast: Wirf es wieder runter.
Du brauchst WinAVR, das ist ein ganzes Programmpaket welches unter anderem den bereits von Schumi erwähnten Compiler (AVR-GCC) sowie verschiedene weitere Werkzeuge beinhaltet. Außerdem kommt mit Programmers Notepad (das ich nie genutzt habe) auch noch ein mächtigerer Texteditor mit.
Um Schumis Ausführungen noch etwas zu ergänzen:
Dein AVR versteht eine eigene Sprache aus Nullen und Einsen. Dein Computer versteht eine andere Sprache, die sogenannten Maschinenbefehle sind bei jeder Prozessorfamilie anders ausgestaltet. Die Aufgabe des Compilers besteht jetzt darin, deinen Programmcode in Maschinencode zu übersetzen, was er in mehreren Schritten macht. Das bereits erwähnte Makefile steuert diesen Prozess, indem es dem Programm "make" sagt, welche Dateien benötigt werden. Am Ende hast du ein HEX-File, das im Endeffekt den Maschinencode enthält.
Zur C-Programmierung:
Rechner sind dumm, sie machen nur genau das was du ihnen sagtst, und kein bisschen mehr. Sie können nicht hellsehen und sind furchtbar versessen auf Regeln nach denen sie arbeiten können. Wenn dein Code nicht tut was du willst, hast du vermutlich eine der Regeln verletzt oder dich missverständlich/falsch ausgedrückt.
Die Ausführung von Programmen erfolgt normalerweise eine Zeile nach der anderen, das ist der sogenannte Programmfluss. An einer definierten Stelle geht die Ausführung los (das ist main()) und folgt von da an deinen Anweisungen. Du kannst über sogenannte Fallunterscheidungen Bereiche deines Programmes überspringen und mit Schleifen bestimmte Stellen wiederholen. Um nicht alles hintereinander schreiben zu müssen gibt es Unterprogramme, sogenannte Prozeduren oder Funktionen, die häufig benutzte Abläufe zusammenfassen können. Gibst du den Befehl eines solchen Unterprogramms ein, wird dieses gestartet und nach Beendigung wird normal weitergearbeitet.
Solche Vorgänge lassen sich in Flussdiagrammen darstellen, ich habe Mal ein Beispielbild mit einer Fallunterscheidung und einer Schleife angehängt. Jedes Rechteck steht dabei für eine Reihe von Anweisungen die hintereinander ausgeführt werden, die Raute für eine Fallunterscheidung. Pfeile zeigen den Programmfluss. Solche Diagramme sind nützliche Werkzeuge um sich im Voraus darüber Gedanken zu machen, wie dein Programm ablaufen soll.
mfG
Markus
Lesezeichen