Hola! No había visto el código y hay un detalle, las interrupciones deben ser cortas y rápidas, no debe usarse delays o printf, ect. En casos sencillos no es problema, pero cuando hay varias interrupciones si, ya que no la atenderás como corresponde.
Saludos!