Arduino mega, 2 port série

Je serais tenté de dire que la gestion des données reçues dans le serialEvent n'est pas sûre. Cette routine est appelée à la fin de loop et présuppose que tu reçois 13 caractères. Si jamais il y en a 12 ou 14 la routine fait n'importe quoi.Tout se décale est ne revient plus en phase.

En fait je dirais que, dans son l'ensemble, le programme est trop rigide est ne laisse pas place à une possible erreur de réception.
En particulier dans serialEvent , il faudrait gérer les caractères un par un au rythme ou ils arrivent et laisser à la fonction la tâche de reconnaître le caractère d'entête et la réinitialisation du pointeur dans le tampon de réception ainsi que la détection du terminateur de chaîne qui lèverait un drapeau pour signaler à la boucle principale que le tampon est prêt à être traité. Attention aussi, si le traitement du tampon de réception est trop long il risque d'être écrasé par l'arrivé de nouvelles données. Dans ce cas il faudrait avoir 2 tampons de réception en flip-flop.