Hallole !,.. Ich simuliere mit WinAVR den Atmega128. Die Ports DDTF und DDTG lassen sich allerdings nicht ansprechen. Es hagelt sofort Fehlermeldungen beim kompilieren, wenn ich auch nur den Begriff "portf" oder "portg" im Quelltext benutze. Habe gelesen, das der Atmega128 einen "Kompatibilitätsmodus" ( als Standardeinstellung ) zum Atmega103 besitzt. Kann es sein das man dem Compiler oder dem WinAVR erst mitteilen muss das "er" einen "echten" 128er und keinen emulierten 103er vor sich hat ? vielleicht Fusebits setzen ? Kann man die auch über eine Zeile im Quelltext setzen ? Benutzt wird seltsamerweise "m128def.inc" in meinem Quelltext,.. allerdings bleiben "portg" und "portf" trotzdem "gesperrt". Kann man hier in WinAVR eventuell "anpassen" ??? .... Hat hier jemand vielleicht einen kleinen Tip für mich ? Liebe Grüße, Dirk
Hallo Christof, Hab´ Dir ein Bild eingefügt, das die Simulation im "laufenden" AVR Studio zeigt,.... ( vielleicht sagt Dir das mehr ) ( portf und portg werden nicht aufgerufen ) sobald ich aber z.B. " out portf,r25 " schreibe,... passiert folgendes : _______________________________________________________________ Building project... Including 'C:\Programme\Atmel\AVR Tools\AvrAssembler\AppNotes\m128def.inc' >> error : Illegal argument type or count << Hier liegt das "Problem" Assembly complete with 1 error __________________________________________________________________ sonst macht die Simulation alles mit,.... ( z.B. " out portd,r25 ") wird problemlos ausgeführt .... und auch ausgegeben ... Woran liegt´s ?
Ich habe mir mal die m128def.inc angeschaut. Das Problem liegt darin, dass PORTF und PORTG nicht mehr im I/O Register Adreßraum liegen (0x00-0x3F) und somit nicht mit in/out erreichbar sind. Sie liegen im "Memory Mapped I/O" Adreßraum, somit musst du darauf zugreifen wie auf normales SRAM. Schau dir die Datei am besten mal selbst an.
Hallo Christof, Hey, vielen Dank für die schnelle Hilfe ! :) genial ! Bin erst seit Anfang dieser Woche am "assemblieren" und hab´ warscheinlich noch einen haufen AVR-Stolpersteine vor mir,... ist alles noch sehr "neu" für mich,.. Lieben Gruß, Dirk
Ja, für mich ja auch, bin auch noch nicht lange dabei und arbeite erstmal mit nem ATMEGA 162, da der etwas kleiner ist, aber auch Features wie z.B. externes MEM-Interface besitzt. Die Kunst liegt also im Lesen von Datenblättern und systematischer Fehlersuche. Wenn er also PORTF an dieser Stelle nicht haben möchte, schaue ich auch mal nach, ob PORTF überhaupt definiert ist, und wenn ja, dann wie. Und schon hat man den Fehler gefunden.
Hallo Christof, Bin dummerweise gleich vom Fusebit ausgegangen, da ich in der PDF von ATMEL von einer "Standardeinstellung" der Atmega128 MC´s gelesen hatte, die diese Pinkompatibel zum atmega103er machen soll,.. ( Werkseinstellung )... und das hatte prima zu den "gesperrten" Ports (F,G) gepasst,.. ( auch in der Doku in diesem Zusammenhang genannt ) War wohl eine Sackgasse ;) Gruß, Dirk
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.