Many thanks for the reply.

I understand what you are saying - ie that the interupt, must not loop......therefore when the interupt button/switch is pressed, the program must jump to the interupt service routine, do something non loopy & return to the main program cleanly?

This is causing me real headaches!

As I say, I am new to programming... if the interupt service routine only allows say the changing of a status bit (or the contents of a variable), then that must mean my main program needs to check (poll) the status bit (or variable) at regular intervals to see if anything has changed - which surely kind of negates the purpose of an interupt?!

To strip this back to the barebones ....all I seek is an interupt driven on off switch .....ie 'on' & my program runs, 'off' & my program waits. I can't be the first to want such basic functionality....has anyone done/seen some example code they can link me to?