AVR IO Register indirekt auslesen

OP #3830359
Lesenswert?
• ▲
▼
Hallo an Alle,
ich habe mal wieder ein Problem und finde keine Lösung.

Ich habe eine Steuerung mit einem Atmega 1284P.
Mit der kann ich mich über USB verbinden und beliebige Daten aus dem 
Sram / Eeprom lesen und schreiben.
Nun möchte ich aber meine Datenaufzeichnung erweitern und gerne den 
Status einiger IO-Register mitschreiben.

Gibt es eine Möglichkeit, ein IO-Register (z.B. PORTA) mit einer Adresse 
indirekt zu laden?
Oder gehen da wirklich nur die Befehle IN, LDS?

Laut Hilfe würde der Befehl elpm den IO-Space ansprechen.
Aber leider meinen die nur den normalen Speicherbereich.
Gast #3830371
Lesenswert?
• ▲
▼
Hi

>Laut Hilfe würde der Befehl elpm den IO-Space ansprechen.
>Aber leider meinen die nur den normalen Speicherbereich.

Den IO-Bereich erreichst du z.B. mit mit ld rd,Z. Z muss dazu mit 
Speicheradresse deines Registers geladen werden.

MfG Spess
Gast #3830409
Lesenswert?
• ▲
▼
Hi

>Aber es geht wirklich mit LD wenn ich zum IO-Register noch doe 0x0020
>dazu addiere, weil die IO-Register erst bei 0x0020 anfangen.

Aber nur im IO-Bereich von 0..0x3F. Im extended IO-Bereich ab 0x60 darf 
keine 0x20 addiert werden.

MfG Spess
OP #3830424
Lesenswert?
• ▲
▼
spess53 schrieb:
> Hi
>
>>Aber es geht wirklich mit LD wenn ich zum IO-Register noch doe 0x0020
>>dazu addiere, weil die IO-Register erst bei 0x0020 anfangen.
>
> Aber nur im IO-Bereich von 0..0x3F. Im extended IO-Bereich ab 0x60 darf
> keine 0x20 addiert werden.
>
> MfG Spess

Danke für den Tip, das hatte ich übersehen...
Wäre mir wahrscheinlich garnicht aufgefallen weil hauptsächlich nur die 
PORTA-PORTD auslesen will :-)

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.