Forum: Mikrocontroller und Digitale Elektronik Register nur innerhalb Funktionen setzbar?


von Stephan R. (Gast)


Lesenswert?

Hallo!

Betreff sagt alles.

Frage mich, ob es nicht möglich ist, das "DDRB = 0xff" o.Ä. woanders zu 
verstecken...

von Jane (Gast)


Lesenswert?

Wo sonst wenn nicht in einer Funktion?
Und wieso verstecken?
Welche Programmiersprache?
...

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

ja. z.B. auf einem Zettel aufschreiben, und diesen ins Gefrierfach vom 
Kühlschrank legen. Das ist so gut versteckt, das findet garantiert 
keiner.

ansonsten: 42

von Hc Z. (mizch)


Lesenswert?

Eine Variable könntest Du initialisieren.  Aber DDRB ist ein 
dereferenzierter Pointer (wenn der Macro aufgelöst ist), deshalb:

Stephan R. schrieb:
> Frage mich, ob es nicht möglich ist, das "DDRB = 0xff" o.Ä. woanders zu
> verstecken...

Nein (was C anbelangt).

von Stephan R. (Gast)


Lesenswert?

Ja, ich meinte C.
Das Gefrierfach ist leider voll Havana. Kein Platz für Zettel. Was 
meinst Du mit 42? 42 mit Milch? Mag ich nicht.

Danke, Zimmerer, denn finde ich mich damit ab.

von Oliver J. (skriptkiddy)


Lesenswert?

Stephan R. schrieb:
> Was
> meinst Du mit 42?
Douglas Adams ;)


> Frage mich, ob es nicht möglich ist, das "DDRB = 0xff" o.Ä. woanders zu
> verstecken...
Wenn ich deine unglaublich präzise formulierte Frage verstanden habe, 
dann könnte man es so machen:
1
#include <avr/io.h>
2
3
4
void set_ff(uint8_t *val)
5
{
6
 *val=0xff;
7
}
8
9
10
11
int main(void)
12
{
13
 set_ff( (uint8_t*) &DDRB);
14
 while(1);
15
}

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.