Hallo Leute, ich habe versucht über DOS-Fenster ein C-Programm in .hex zu übersetzen. WinAVR-20090313 Leider bekomme ich Haufen Fehler! Siehe Anhang. Was mache ich falsch? Mein C-Code sieht folgender Maße aus. >//hello.c >#include <avr/io.h> > >int main(void) >{ > DDRB = 0x1F; > > DDRB = (1<<DDB0)|(1<<DDB1)|(1<<DDB2)|(1 << DDB3)|(1 << B4); >} und mein Makefile kommt nach im nächsten Anhang
schau dir mal diese zeile ganz ganz genau an:
1 | DDRB = (1<<DDB0)|(1<<DDB1)|(1<<DDB2)|(1 << DDB3)|(1 << B4); |
ganz besonders das hier (1<< B4), das ist in der iom8.h nicht deklariert, ergo bekommst nen Syntaxfehler angezeigt. Korrigiere deinen Fehler und dein "Programm" funktioniert, ich jedenfalls komms dann compiliert ( mit deinem makefile )
@lightninglord danke für den Tipp @holger Wie meinst du das, gibt es da verschiedene Versionen? Ich habe alles so gemacht wie es in Makefile stand! Was sollte ich anders machen?
>Wie meinst du das, gibt es da verschiedene Versionen? Auf deinem Rechner gibt es wohl verschiedene Versionen. Einmal das make vom Borland Compiler und das make vom AVR-GCC. Im Pfad wurde halt das vom Borland Compiler zuerst gefunden. Gib statt einfach nur "make all" halt "PfadzuAVRGCCmake\make all" ein.
> Wie meinst du das, gibt es da verschiedene Versionen? Ja, WinAVR bringt seine eigene mit, vermultich von GNU. > Ich habe alles so gemacht wie es in Makefile stand! Das Problem ist ja vermutlich (unter anderem) welches make das makefile aufruft. > Was sollte ich anders machen? Die Pfade so anpassen, dass das passende make aufgerufen wird. Evtl. programmierst du ja auch noch mit Borland, dann wird es eklig. Ich kenne micht unter Windows nicht wirklich gut aus. Unter Linux würde ich ein alias nehmen, unter Windows -> keine Ahnung. Evtl. eine batch-Datei, oder du versuchst unter WinAVR was zu drehen, und führst dann make all unter WinAVR aus. Dein Screenshot sugeriert mir, dass du die make all in der DOS-Box ausführst, oder öffnet die WinAVR? Den Tipp von Holger kannst du auch in ein Batch-File schmeißen, ersprt Tipparbeit. ;-) Natürlich nur, wenn du aus der DOS-Box heraus make aufrufst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.