Forum: Mikrocontroller und Digitale Elektronik Fehler in ATMEL ATMega32U2 Doku 7799


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Karl B. (gustav)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
die memory mapped Register lassen sich mit dem Code-Beispiel auf Seite 
155,
Kapitel 18.6.1 in der Atmel Dokumentation 7799 nicht ansprechen:
Fehlermeldung. "Operand 1 out of range".


Man muss den Umweg, wie im angehängten asm-File gezeigt, wählen, damit
der Assembler dann 0 Error zeigt.

Werden ATMEL-Dokumentationen revidiert, oder bin ich hier nur durch das 
Zufallsergebnis der Suchfunktion der Suchmaschine einem  "uralten" 
Problem aufgesessen.

ciao
gustav

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Karl B. schrieb:
> Werden ATMEL-Dokumentationen revidiert

Normalerweise schon.

Dürfte ein copy&paste-Fehler sein.

von Mark U. (residuum)


Bewertung
0 lesenswert
nicht lesenswert
Kann ich bestätigen.

Habe selbst mal einen Fehler in der HW des ATmega64 entdeckt und diesen 
Atmel mitgeteilt. Nach einigem Hin und Her konnte das bestätigt werden.
Kurz darauf wurde dem Datenblatt der entspr. Punkt als Errata hinzu 
gefügt.

von Karl B. (gustav)


Bewertung
0 lesenswert
nicht lesenswert
Danke an @all!

ciao
gustav

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Nitpick: Dein Assembler Code PUSHt einmal und POPt zweimal. Das knallt 
relativ schnell.

von Oliver S. (oliverso)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Normalerweise schon.
>
> Dürfte ein copy&paste-Fehler sein.

Eher ein normaler copy&paste-Fehler, der in den die Atmel-Dokus immer 
wieder zu finden ist.

Oliver

von Karl B. (gustav)


Bewertung
0 lesenswert
nicht lesenswert
Jim M. schrieb:
> Nitpick: Dein Assembler Code PUSHt einmal und POPt zweimal. Das knallt
> relativ schnell.

Korrekt,
in der neueren Version ist es schon rausgeremt.
Hatte vergessen die "überflüssigen" Arithmetics- und 
Statusregistersavings
völlig rauszuremmen. (War umgeschrieben worden von UART mit Interrupt, 
da muss ich ja die CPU-Flags notgedrungen saven, ist im Codeschnipsel 
nicht nötig. Nur eben das eine temp.)
Trotzdem danke.


Oliver S. schrieb:
> Eher ein normaler copy&paste-Fehler, der in den die Atmel-Dokus immer
> wieder zu finden ist.

Also, in Errata ist nichts zu finden auf Seite 296 ff.
OK. Wir wissen es jetzt ja. Dann kann ja nichts mehr schiefgehen.

ciao
gustav

: Bearbeitet durch User
von Sebastian S. (amateur)


Bewertung
0 lesenswert
nicht lesenswert
Ich würde diese Beispielsequenzen IMMER mit Vorsicht genießen.

Eine Eigenart bei den Atmels ist, dass ständig Register oder Flags 
umbenannt werden.
Somit kann man praktisch nicht kopieren. Was die Buben und Mädels 
natürlich nicht davon abhält.

Zu dem Beispiel ist noch zu sagen: Return nur bei "gutem" Wetter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.