Forum: Compiler & IDEs Register r16 als AKKU definieren


von udo scharnitzki (Gast)


Lesenswert?

Freaks,

erschlagt mich nicht. Ich möchte gerne, wie in Assembler, ein Register
auf den Ausgangsport schicken. Fragt nicht nach dem Sinn, ich möchte
hinter die Kulissen vom C-Code und die Architektur vom AVR gucken.
Also:

In Assembler gibt es den Befehl:

       MOV R0,A

Genau dieses möchte ich in C umsetzen. Die folgende Syntax ist
garantiert falsch, aber sie soll zeigen, was ich möchte:

#define AKKU  0x10; /* das ist die Adresse von r16*/

{

irgendwelche Befehle und dann

AKKU++; /* also r16 incrementieren*/

PORTB=AKKU;

}

O.K. ist vielleicht nicht der Hit, aber ich möchte gerne wissen, ob das
realisierbar ist. Das geht wahrscheinlich vielen Neueinsteigern so.

Gruß

Udo

von Rolf Magnus (Gast)


Lesenswert?

1
register uint8_t r16 asm("r16");
2
++r16;

von udo scharnitzki (Gast)


Lesenswert?

Hallo Rolf,

VIELEN DANK, es funzt!! super!!!!

Gruß

Udo

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.