lo statement "if" funziona con gli interrept?

Pino_:
Ho letto che gli interrupt "interrompono" il funzionamento di delay() e che le variabili conviene dichiararle "volatile"; non mi pare di aver visto limitazioni di "if".

Non è che interrompono il delay() ... è che quando si entra in una ISR gli interrupt vengono disabilitati (... uno dei motivi per cui deve essere la più veloce possibile) e quindi, altre cose che basano il loro funzionamneto su interrupt, vengono ovviamente sospese (... e quindi non funzionanti) sino al termine della ISR.

Le variabili che vengono usare in una ISR non conviene, DEVONO essere dichiarate con attributo "volatile".

Capisci da solo che l'IF ha nulla a che vedere con tutto ciò.

Guglielmo