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
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
#3830381
Die Hausnummern zu den internen Registern findest Du im Handbuch im Kapitel: "30. Register summary".
Danke Spess53, ich war wohl blind oder wollte nicht glauben, das es so einfach ist. Aber es geht wirklich mit LD wenn ich zum IO-Register noch doe 0x0020 dazu addiere, weil die IO-Register erst bei 0x0020 anfangen.
spess53 schrieb: > Den IO-Bereich erreichst du z.B. mit mit ld rd,Z. Z muss dazu mit > Speicheradresse deines Registers geladen werden. Und die Adresse in Klammern nehmen (höhere). PortA = 0x22 PortB = 0x25 ... PortG = 0x34
Gast
#3830409
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
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
Bitte melde dich an, um einen Beitrag zu schreiben.