guten tag... ich bin noch ziemlich neu, was die avr-controller angeht, habe jedoch schon efahrungen mit andern programmiersprachen wie auch mit 8051µC. zum programmieren benutze ich avrstudio4 mit dem avr gcc compiler ich habe folgendes problem, ich möchte, das ein timerinterrupt ausgelöst wird, bekomm dies aber nicht hin. ich bin jetzt schon fast 2 1/2 stunden am probieren, doch es klappt nicht und ich kann nicht erkennen wo der fehler liegt. der compiler gibt ne warnung das die function ISR keinen definierten rückgabe wert hat, setzt diesen auf int. der quellcode befindet sich in der anlage ( wurde schnell von einem laptop abgetippt )
was ich noch ergänzen möchte, der debugger springt bei einem timeroverflow an den anfang des programmes sprich an int main (void) danke für die hilfe
Ich vermute, Du hast nicht die aktuellste Version von WINAVR installiert. Der Compiler erkennt anscheinend ISR nicht als Makro. Müsste aber eigentlich vorher noch ne andere Fehlermeldung geben.
ich erhalte keine fehler sondern warnungen: FunkUhr.c:8: warning: return type defaults to 'int' FunkrUhr.c : In function 'ISR' FunkUht.c:12 warning control reaches end of non-void function ich werde trotzdem mal nach einer aktuellen version von winavr schauen...
Es liegt mit Sicherheit daran. Wenn Du grad keinen Zugriff auf die aktuelle Version von WINAVR hast, probier es mal mit #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL(SIG_OVERFLOW0) { //Code... } //.....usw... Das wäre die alte Version. Damit müsste es dann eigentlich funktionieren.
>FunkUhr.c:8: warning: return type defaults to 'int'
return 0; am Ende der main behebt diese Warnung.
danke, das funktioniert ich habe es so auch schon versucht gehabt, jedoch nicht die sigal.h inkludiert.
ich habe jetzt winavr reinstalliert und es funktioniert auch mit den ISR makro die aktuelle version war installiert. ich denke das derjenige, der das avrstudio installiert hat, nicht den haken für die umgebungsvariable gesetzt hat bzw ihn deselektiert hat
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.