Für _SFR_IO16(io_addr) gibt es 2 verschiedene Definitionen. Die oben genutzte definition ist die für ASM files. Für C Code gibt eine 2. Definition:
#define _SFR_IO16(io_addr) _MMIO_WORD((io_addr) + __SFR_OFFSET)
und
#define _MMIO_WORD(mem_addr) (*(volatile uint16_t *)(mem_addr))
Wenn man das einsetzt, sollte es auch direkt ohne die Defines gehen.
Lesezeichen