Breaking a while loop

pggood:
if I have a while loop waiting for a counter set by the timer interrupt it never ends however it I toggle a pin in the while loop it works as expected.

If you have a WHILE loop waiting to be interrupted then you should not have a WHILE loop in the first place.

Use IF and allow loop() to take care of the iteration.

In general don't use WHILE or FOR loops unless they do something that completes in a few microsecs.

...R