Forum: Mikrocontroller und Digitale Elektronik Port über Index?


von Uwe (Gast)


Lesenswert?

Hi!

Ist es beim AT90../Mega irgendwie möglich die Ports /Pin's
über ein Indexreg. (X/Y/Z/SP) anzusprechen??

Ist eigentlich ne blöde Frage und laut Datasheet geht es auch nicht, 
oder doch?

MFG Uwe

von crazy horse (Gast)


Lesenswert?

geht nicht, kannst dir aber ne kleine Software basteln, die das dann 
erledigt.

von mikki merten (Gast)


Lesenswert?

wer lesen kann ist klar im Vorteil. Klar geht die Adressierung aller 
I/O-Register über die index-Register X/Y/Z. Hierzu ist lediglich ein 
Adress-Offeset von 20h zu berücksichtigen. Ist aber auch in jedem 
Datenblatt der AVR-Familie beschrieben.
Beispiel:
   ldi  YL,0x20       ;Y-Register auf Startadresse I/O-Area
   ldi  YH,0x00

   LDD  AL,YL+PORTA  entspricht   IN  AL,PORTA
   STD  YL+PORTA,AL  entspricht   OUT PORTA,AL

von crazy horse (Gast)


Lesenswert?

so gesehen hast du natürlich recht :-)
ich dachte aber mehr an einzelne Pins...

von Uwe (Gast)


Lesenswert?

Spitze, Darauf bin ich noch nicht gekommen, weil im Datenblatt steht bei 
STD "Store to SRam". Das muss ich heute gleich mal testen.
Schnell nochmal den Adressraum betrachtet, sollte eigentlich klappen. 
Prima!

Besten Dank Uwe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.