volatile uint8_t flag; ... ISR(SOME_vect) { flag = 1; } ... while(flag == 0) { ... }