Du mußt "data" auf jeden Fall volatile definieren
volatile static uint8_t data;
Sonst haben die signal-routine und "main" verschiedene "data"