Non ho capito.
La funzione in interrupt è in lettura?
Se è in lettura il cambiamento di stato avviene dall'esterno quindi devi mettere in "delay" la fonte.
In scrittura non ho mai usato un interrupt, quindi non so.
Se hai necessità di mettere un delay in lettura, per diminuire il numero di letture potresti perdere dati che arrivano in quell'intervallo. A qual punto tanto vale eliminare l'interrupt e andare a leggere la fonte esterna nel loop.