Hallo,
da es hier wahrscheinlich am Besten reinpasst schildere ich euch mal
meine Frage:
Im muss eine feste Adressierung meiner RAM-Variablen vornehmen (aus
Kompatibilitätsgründen)
das sieht dann ungefähr so aus:
1 | #define UCHAR unsigned char
|
2 |
|
3 | UCHAR StatusFlag __attribute__ (address(0x800));// ;Word der Status-Flag's
|
4 | UCHAR JBStatus __attribute__ (address(0x801));// ;Jumper-Status-Flag's
|
5 | UCHAR Stoerung __attribute__ (address(0x802));// ;enthaelt Stoerungs-Ursache
|
Meine Frage ist nun, sollte man es so machen? Oder ist die Compiler
unabhängige Variante besser?
1 | #define StatusFlag(* (unsigned char *)0x800)
|
Meine Frage zielt darauf ab:
Wenn man ein #define macht, dann kann der Compiler die Variable ja nicht
richtig verwalten, da er ja eigentlich nur einen Bezeichner für eine
RAM-Adresse erstellt, richtig?
In MPLAB kann man ja ein Watch Fenster nutzen, welches aber anscheinend
dann nur mit Variante 1 geht.
Was haltet ihr für besser/sinvoller?