Hola.
Debes usar, como ya te dijeron, la función getc() en la interrupción.
Para que el código se procese en el main, asigna un flag en la interrupción, luego de recibir el dato. No es recomendable tener funciones que tomen mucho tiempo dentro de la interrupción (como ese printf) ... me imagino que al compilar, te salen algunos warning's.
Saludos