Hi,
ich habe hier eine header datei wo folgendes bei den global defines steht.
#define testclk(id) (BYTE*) &COCR##id
Wozu sind die 2 ## hinter COCR, sind das platzhalter?
und dann nochwas
#define testclk_ch0 (BYTE*) 0x0025
was macht diese zeile rein theoretisch?
hoffe mir kann jemand klarheit verschaffen 
Gruß
Marco
Hallo Marco,
#define testclk(id) (BYTE*) &COCR##id
Wozu sind die 2 ## hinter COCR, sind das platzhalter?
Nein, das ist eine Zeicheketten-operation:
Also aus dem Aufruf
testclk(1A2B)
erzeugt dann der Preprocessor:
(BYTE*) &COCR1A2B
und dann nochwas
#define testclk_ch0 (BYTE*) 0x0025
was macht diese zeile rein theoretisch?
An der absuluten Speicheradresse 0x0025 ist ein Wert von Typ BYTE abgelegt.
MfG Peter(TOO)
Hallo!
#define testclk_ch0 (BYTE*) 0x0025
was macht diese zeile rein theoretisch?
An der absuluten Speicheradresse 0x0025 ist ein Wert von Typ
BYTE abgelegt.
Nö. Jedes Vorkommen von „testclk_ch0“ wird durch das define textuell durch „(BYTE*) 0x0025“ ersetzt. Mit absoluter Speicheradresse hat das nichts zu tun.
Grüße
Mathemat