Forum: Compiler & IDEs Zugriffe auf exterenen Speicherbereich


von Thorsten (Gast)


Lesenswert?

Hallo Forum,

ich sitze hier vor einem kleinen Board mit einem mega8515, 32kb
externem Ram und einem 82C55.
Das Ram geht von Adresse 0x0260 bis 0x7FFF. Den 82C55 habe ich auf die
Adressen 0xF000 bis 0xF003 gemappt.

Das externe Speicherinterface an sich funktioniert.

Was ich nun gerne erreichen würde ist, dass ich auf die 4 Register des
82C55 per C zugreifen möchte.
z.b. wäre eine Funktion schön, die ein Byte an eine der 4 Adressen
sendet bzw. ausliest.

Hat da jemand einen Tip?
mfg

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

*(unsigned char*)0xf000 = 42;

von Thorsten (Gast)


Lesenswert?

Hallo.

Danke Jörg. Das funktioniert bestens.
mfg

von Birger* (Gast)


Lesenswert?

Ich rate zu diesem Makro _SFR_MEM8(0xF000) = 42, denn da ist dann noch
ein nicht unwichtiger volatile mit drin (->sfr_defs.h, der von io.h
inkludiert wird). Läßt man diesen fort, so kann es zu unerwünschtem
Verhalten bei Nutzung in Interruptroutinen kommen. Oder in Klartext:
*(volatile uint8_t *)0xf000 = 42;

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.