Variables used in interrupt service routines AND other functions MUST be declared volatile. Why isn't flgStart?