Wo ist denn data deklariert? Mit "extern uint16_t data;" wird der Compiler ja nur darauf hingewiesen, dass data WOANDERS (mit "uint16_t data") deklariert ist.