Atmega 8 ./. Atmega 16

OP Persönliche Seite #480685
Lesenswert?
• ▲
▼
hallo,

ich habe hier zwei kleinere Projekt für die ich einen Atmega-Controller 
aussuchen muss. Die Software wird weitgehend ähnlich sein.

Die Vorauswahl ist jeweils auf den Atmega 8 und auf den Atmega 16 
gefallen.

Wenn ich dir Datenblätter vergleiche finde ich beim oberflächlichem 
Vegleich bis auf die Anzahl der I/O, des Speichers und bei den 
AD-Wandlern keine Unterschiede.

Ich möchte nun bei der Software den selben Quellcode weitgehend in 
beiden Projekten verwenden.

Die Frage ist nun ob es über die von mir oben aufgeführten Unterschiede 
weitere Punkte gibt wenn man eine Software für diese beiden Atemgas 
entwickelt.

Gibt es weitere Fallstricke?

Gruss Jürgen
#480843
Lesenswert?
• ▲
▼
A.K. wrote:
> Apropos Assembler: Wenn das ein Problem sein sollte - dem ist mit 2
> bedingten Assembler-Makros problemlos abzuhelfen.

Warum so umständlich.
Einfach die Interruptvektoren wie es sich gehört per .org Anweisung 
einstellen und schon ists egal.

Ich finds immer wieder lustig, wenn sich einer bei den RETIs verzählt 
und dann ewig den verschwundenen Interrupt sucht.


Peter
Gast #480865
Lesenswert?
• ▲
▼
> Einfach die Interruptvektoren wie es sich gehört per .org Anweisung
> einstellen und schon ists egal.

Ich finde es nicht ganz so egal, ob man nun RJMP oder JMP verwendet. 
Nicht im Programm und erst recht nicht in der Interrupt-Tabelle.

Missverstanden, glaube ich.
Gast #480870
Lesenswert?
• ▲
▼
Prinzip:
   macro jump
     if mega8 oder kleiner
         rjmp $1
     else
         jmp $1
     endif
   end macro

Wenn man dann noch die Includes als Quelle der Vektoradressen verwenden, 
dann sieht das ungefähr so aus:
   .org uart_receive
   jump uart_receive_handler

Kann man dann auch im Rest des Programms verwenden, wenn man zu den 
Spezialisten gehört die mehr als 4KB als Assembler-Code fabrizieren (die 
sollten allerdings gerüchteweise in der PIC-Fraktion häufiger zu finden 
sein als bei AVRs). Bis 4KB ist es wieder egal, dann kann man überall 
RJMP verwenden.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.