se detiene por el delay(1000)!!
Nadie te ha explicado que cuando el programa encuentra el delay(1000) se detiene sin hacer nada por 1 segundo? Diras un 1 seg no es nada, pero si lo es dentro de un ciclo de lectura de un puerto serie.
Simplemente retíralo, elimina el delay(1000) porque no tiene nada que hacer ahi.
MODERADOR: Ahora lee las normas del foro y edita tu código de acuerdo a las normas. Debes luego de entrar en modo edición seleccionar todo el código y hacer click en </>