Hi, möchte gerade auf ProgrammersNotepad umsteigen, da mein alter Compiler in seiner Freewareversion ab einer bestimmten Dateigröße nichtmehr arbeitet. Als Makefile hab ich einfach die aus dem Sampleordner von WinAVR kopiert. Da ich in erster Linie mein Programm compilieren will, hab ich die Makefile so gelassen, ohne den Controllertyp etc. einzustellen. Wie zu erwarten funktioniert das natürlich nicht so reibungslos, da das ganze mir Fehler ausspuckt, die ich mir nicht erklären und dementsprechend auch nicht beheben kann. Aber fange ich einfach mal: main.c:37: error: expected declaration specifiers before 'interrupt' Der dazugehörige Code: void timer0() interrupt 1 using 2 Wird wohl daran liegen, das im PN ein Interruptfunktion anders geschrieben wird. Die Frage ist wie. main.c:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token main.c:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token main.c:82: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token Hier der dazugehörige Code. Es ist egal in der Funktion steht. void Textablauf(void) { ... } Ähnlich sehen die beiden anderen Funktionen, auf die sich die Fehlermeldungen beziehen, aus. main.c:101: error: expected '{' at end of input Was er da vermisst weiß ich auch nicht. Verweist auf die letze Zeile im Code, die mit einem "}" das Hauptprogramm abschließt. Hoffe man kann mir helfen^^"
Du müsstest Dir mal in der libc-Doku oder im AVR-GCC-Tutorial anschauen, wie in WINAVR-C Interrupt Handler definiert werden. Jedenfalls nicht so, wie Du es anscheinend in Deinem Programm geschrieben hast. Folglich kennt der Compiler die Syntax nicht und rotzt Fehlermeldungen raus. Je nachdem, welchen "alten Compiler" Du da hattest, wird es vermutlich noch ein paar andere Fehlermeldungen geben. > main.c:101: error: expected '{' at end of input > Was er da vermisst weiß ich auch nicht. Verweist auf die letze Zeile im > Code, die mit einem "}" das Hauptprogramm abschließt. Das dürfte ein Folgefehler sein. Beseitige erstmal die Fehler mit der Interrupt-Handler-Deklaration. Wenn der Fehler dann immer noch da ist, ist noch an anderer Stelle der Wurm drin.
> möchte gerade auf ProgrammersNotepad umsteigen, da mein alter Compiler > in seiner Freewareversion ab einer bestimmten Dateigröße nichtmehr > arbeitet. Programmer's Notepad ist kein Compiler, sondern ein Editor. > main.c:37: error: expected declaration specifiers before 'interrupt' > > Der dazugehörige Code: void timer0() interrupt 1 using 2 > Wird wohl daran liegen, das im PN ein Interruptfunktion anders > geschrieben wird. Die Frage ist wie. Mit PN hat das nichts zu tun, sondern mit dem verwendeten Compiler. Falls du GCC verwendest (immerhin sind wir im GCC-Forum), empfielt es sich, die Doku der avr-libc zu lesen. Da steht drin, wie man Interrupt-Routinen definiert. > Hoffe man kann mir helfen^^" Kaum. Die drei Zeilen Code, die du gepostet hat, enthalten keinen Fehler, der die Meldungen erklären würde. Eine völlig ins Blaue geschossene Idee wäre, daß du vielleicht irgendwo vorher mal eine Klammer vergessen hast und das ein Folgefehler ist.
>Der dazugehörige Code: void timer0() interrupt 1 using 2 Das sieht mir nach Code für einen 8051 aus. Damit kann der WinAVR nichts anfangen.
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.