Yo tampoco estoy seguro de lo que pasa, pero sí de una posible solución: muestrea por interrupciones, que es más preciso.
Aquí te dejo esta librería para poder realizarlo más fácilmente.
Una regla muy importante: ¡NUNCA IMPRIMAS DURANTE UNA INTERRUPCIÓN!. El loop es el único que debe encargarse de eso.