Interrupt Service Routine (ISR) crashing

It is not a good idea to print anything from within an ISR.

Any variable that is accessed from within an ISR, e.g. dimming, should be declared volatile.

Pete