[Question] Interruption et Loop

Il ne faut pas appeler Serial.print sous interruption car la fonction utilise elle même les interruptions.

Le code gagnerait à être découpé de tel sorte que tu ne fasses sous interruption que la réception de ta trame. L'impression et l'analyse se déroulant à l'extérieur (comprendre dans loop).
A la sortie de reception(), si une trame valide a été reçue, positionner un drapeau pour l'indiquer.
A l'intérieur de loop, si le drapeau est levé, analyser la trame, efface le drapeau et agir en conséquence.
Il faut passer le minimum de temps sous interruption pour ne pas bloquer d'autres tâches qui les utilises aussi.