Julian Schietinger wrote:
> Danke Uwe.
> Hat funktioniert.
> Jetzt kommen alle Syntaxfehler/Fehler die drin sind.
> kannst du mir da auch weiter helfen?
Geh sie der Reihe nach durch.
Interessant sind immer nur die ersten 2 oder 3 Fehlermeldungen.
Die restlichen könnten einfach nur Folgefehler sein.
> main.c:17:19: error: sleep.h: No such file or directory
Ist ja wohl ziemlich eindeutig.
Es gibt keine Datei namens "sleep.h" die includiert
werden könnte. Das mag vielleicht daran liegen, dass
die mitgelieferte sleep.h auf dem Subverzeichnis avr
liegt.
Es muss also
#include <avr/sleep.h>
heissen.
Reserviere übrigens bei der Angabe von #include Files, die
" für deine eigenen Dateien und benutze für Systemfiles die
einschliesung in < >
> main.c:23:23: error: "(" may not appear in macro parameter list
Das liegt daran, dass hier
#define BAUD_PRESCALE(((F_CPU/(USART_BAUDRATE*16UL)))-1)
^
|
ein Leerzeichen stehen muss. Ansonsten würde der Präprozessor
den Klammerausdruck als Makro Argument auffassen. Und das kann
in diesem Fall nicht das gewünschte sein. Es ist relativ klar, dass
der Klammerausdruck als Ersetzungstext gedacht ist (und die
Einklammerung ist durchaus lobenswert)
#define BAUD_PRESCALE (((F_CPU/(USART_BAUDRATE*16UL)))-1)
Jetzt ist das für den Präprozessor die Anweisung überall
dort, wo im Quelltext BAUD_PRESCALE vorkommt, diesen Text
durch den Text (((F_CPU/(USART_BAUDRATE*16UL)))-1) zu
ersetzen.
> main.c:34: warning: return type of 'main' is not 'int'
Das sollte eigentlich eindeutig sein
> main.c: In function 'main':
> main.c:38: error: 'BAUD_PRESCALE' undeclared (first use in this
> function)
Ist auch klar. BAUD_PRESCALE hat oben einen Fehler hervorgerufen.
Damit wurde es nicht definiert und der Präprozessor hat die
Ersetzung nicht vorgenommen.
Spätestens jetzt ist es an der Zeit, die bisher gefundenen Fehler
zu korrigieren und neu zu compilieren. Dadurch sollten schon
mal einige (nicht alle) Fehler verschwunden sein.
Die restlichen Fehler gehst du wieder durch. Die ersten 2 oder
3 Fehler korrigieren und neu kompilieren.