Hallo, eine kurze Frage... ich benutze zur Zeit Atmega16. Leider reicht der Programmspeicher für den Code nicht aus. Kann ich einfach den Atmega16 mit dem Atmega32 bzw. Atmega644 ersetzen? Sind diese Mikrocontroller sonst in der Bauweise gleich? Muss ich den Code ändern, oder sind sie alle kompatibel? DANKE!
Tester wrote: > eine kurze Frage... ich benutze zur Zeit Atmega16. Leider reicht der > Programmspeicher für den Code nicht aus. Kann ich einfach den Atmega16 > mit dem Atmega32 bzw. Atmega644 ersetzen? Sind diese Mikrocontroller > sonst in der Bauweise gleich? Der ATmega32 sollte in der Tat bis auf den größeren Speicher dem ATmega16 ziemlich gleich sein. Sie entstammen einer Familie und sind ungefähr gleich alt. ATmega324P, ATmega644 und ATmega644P (sowie der hier nicht zur Debatte stehende ATmega164P) sind dagegen neuere Weiterentwicklungen, die zu ATmega16/32 lediglich pinkompatibel sind, aber ansonsten viele neue Dinge enthalten (u. a. bis auf den ATmega644 zwei USARTs statt nur einer). Für den Übergang von ATmega16/32 auf die neueren gibt es Atmel-typische application notes, die die Details beschreiben. > Muss ich den Code ändern, oder sind sie alle kompatibel? Zumindest neu compilieren, selbst beim ATmega32. Doppelter Speicher bedeutet ja auch, dass z. B. der RAM größer ist und damit der Stack auf höheren Adressen beginnen kann. Beim Übergang auf die neue Familie dürften weitere Änderungen von Nöten sein, siehe Appnote.
Eigentlich schreibt atmel ja selber: >ATmega644 is device pin and functionally compatible to ATmega32 Es haben sich allerdings ein paar Registernamen nebst zugehörigen Bitbezeichnungen geändert (z.B. wird aus TIMSK TIMSK0), aber das wird dir der Compiler schon mitteilen. Die Appnote dazu gibts hier: http://www.atmel.fi/dyn/resources/prod_documents/doc8001.pdf Oliver
Bekommste demnächst auch mit 128 KiB ROM und 16 KiB SRAM -- ATmega1284P. Bislang noch kein Datenblatt auf der Atmel-Seite, aber die Details kann man sich bereits im vom AVR Studio freiwillig installierten ATmega1284P.xml ansehen. ;-)
Auch ganz witzig: ATmega328 -> pinkompatibel zum mega8 ansonsten ein atmega48/88/168 mit eben 32kb flash. leider noch nicht verfügbar :(
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.