uint32_t numofinterrupts; // total number of time interrupts since reset uint64_t time; // total number of microseconds since reset SIGNAL(SIG_OUTPUT_COMPARE2) { numofinterrupts++; time = (uint64_t)numofinterrupts * 1000 + TCNT2 }