Hallo alle miteinander. Ich habe begonnen mich durch das AVR-Tutorial zu hangeln. Muss auch dazu sagen dass das mein erster Kontakt mit der AVR-Serie ist. Ich habe vorher schon mal kleinere Sachen mit A51-µC gemacht (z.b. AT89C2051) was auch gut funktionierte. Für ein Projekt benötige ich aber nun Analogeingänge und habe mich da für den ATTiny13 entschieden. Nach der Installation des AtmelStudios Version 6.1.2562 hab ich versucht ein kleines Beispielprogramm zu kompilieren was in einer Flut von Fehlermeldungen endete. Ein Programm mit 5 Zeilen Code generiert 278 Errors !?!?!!??! (siehe Screenshot) Da war ich doch platt! Was mache ich falsch? Ingo
Vergiss die 278 Es ist immer der gleicher Fehler. Aus irgendeinem Grund wird bei dir sowohl tn13def.inc also auch tn13Adef.inc inkludiert. Dieses Rätsel gilt es zu lösen. Wenn es gelöst ist, verschwinden alle 278 Fehler auf einen Schlag. Also: hast du irgendeine Idee, warum das System der Ansicht sein könnte, du würdest für einen Tiny13A assemblieren und sich genötigt sieht, die tn13Adef.inc zu inkludieren?
Alternativ könntest du natürlich auch den Weg des geringsten Widerstands gehen und darauf bauen, dass sich Tina13 und Tiny13A schon nicht zu stark unterscheiden, und deinen include umändern auf .include "tn13Adef.inc"
oder das .include ganz weglassen, evtl. ist das ein Feature vom AVRStudio das es das aus den Projekteinstellungen automatisch einfügt.
Danke für die schnellen Antworten. Ich bin ja völlig begeistert :) Karl sein hinweis hat auf Anhieb funktioniert. Ich habe tatsächlich nur tn13Adef.inc eingefügt. Laut Datenblatt unterscheiden sich die beiden wohl nicht. Warum das nicht mit tn13def.inc funktioniert ist mir zwar nicht klar aber man muss ja nicht alles wissen. Hurra, Problem gelöst. Vielen dank nochmal. Gruss Ingo
gerade beim 5er Studio ausprobiert aber es ist genauso: - 278 Fehler wenn ich in den Projekteinstellungen Tiny13A wähle und das Tiny13 include anziehe - 0 Fehler wenn Projekt und include Device übereinstimmen. In den Einstellungen wird aus dem Device das entsprechende include generiert und per Compilerswitch übergeben.
.include "tn13adef.inc" ldi r17,4 mov r16, r17 out portb, r16 ende: rjmp ende So wie Jojo S. schon geschrieben hat. Jojo S. schrieb: > 0 Fehler wenn Projekt und include Device übereinstimmen.
Ingo H. schrieb: > Warum das nicht mit tn13def.inc funktioniert ist mir zwar > nicht klar aber man muss ja nicht alles wissen. Ist doch ganz einfach. Beide inc-Files werden includiert in tn13def.inc gibt es eine Defintion für PORTB in tn13adef.inc gibt es eine Definition für PORTB in tn13def.inc gibt es eine Definition für DDRB in tn13adef.inc gibt es eine Definition für DDRB in tn13def.inc gibt es .... und das ganze Spielchen wiederholt sich 278 mal. Alles und jedes ist doppelt vorhanden. Einmal, weil es in tn13def.inc steht und das andere mal, weil es in tnt13adef.inc steht. Und genau das sagt dir auch der Assembler. Lies doch mal die Fehlermeldungen aufmerksam. Steht alles da. Du darfst dich nur nicht von der schieren Menge der Fehlermeldungen beeindrucken lassen. Die sind alle vom gleichen Typus und sie deuten alle auf dasselbe Problem hin.
Karl schrieb: > Ist doch ganz einfach. > Beide inc-Files werden includiert..... Das Problem hat sich ja Dank des Hinweises gelöst, mir ist trotzdem nicht klar warum dann zwei Definitiondateien eingebunden oder vom Assembler ausgewertet werden obwohl nur eine im Quelltext angegeben ist. Kann man das irgendwo bei dem Atmelstudio einstellen? Gruss
Ingo H. schrieb: > Karl schrieb: > >> Ist doch ganz einfach. >> Beide inc-Files werden includiert..... > > Das Problem hat sich ja Dank des Hinweises gelöst, mir ist trotzdem > nicht klar warum dann zwei Definitiondateien eingebunden oder vom > Assembler ausgewertet werden obwohl nur eine im Quelltext angegeben ist. > > Kann man das irgendwo bei dem Atmelstudio einstellen? Ja klar. Das komische Studio hat da einen Parameter unter dem Menüpunkt Configuration Options, wo man den Prozessor auswählen muss, und ist deswegen der Meinung, von sich aus das Include-File für diesen Typ automatisch einzubinden. Ich finde das sinnlos und doof, und es ist immer wieder für ein Ärgernis gut. Grüße.
Danke für den Tip! Ich habe das mal ausprobiert und die Includezeile weggelassen. Funktioniert dann auch. Jetzt wird mir das auch klar. Der Controllertyp wird ja ganz zu Anfang beim Erstellen des Projektes erfragt. In diesem Punkt muss ich dir dann Zustimmen. Ist wirklich doof. Gruss
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.