Programmspeicher

Gast #767888
Lesenswert?

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!
Moderator Persönliche Seite #767935
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren