Reading a variable set in an ISR, or using millis() for time within while loop?