Ein SFR im I/O-Bereich hat zwei Adressen: Seine Adresse im RAM, also die ADresse, wo es hingemappt ist, und seine I/O-Adresse.Zitat von ReSeT
Die beiden Adressen unterscheiden sich um einen Offset von 0x20.
RAM-Adressen werden verwendet zusammen mit LDS, STS, ...
I/O-Adressen werden verwendet mit IN, OUT, CBI, SBIS, ...
Die Header der avr-libc stellen nur die RAM-Adresse zur Verfügung, für die I/O-Adresse muss diese also angepasst werden. Das macht das Makro.
Steht aber alles in der Doku zur avr-libc...
http://www.nongnu.org/avr-libc/user-...assembler.html
http://www.nongnu.org/avr-libc/user-...fr__notes.html
Wenn man Software einsetzt/einzusetzen gedenkt, sollte man in Betracht ziehen, auch ihre Doku zu lesen...
Lesezeichen