communication série entre deux Arduino

La première ligne, il a le même rôle que ton 'T', il est là pour identifier le début d'une trame (3 octets, le premier FF est non significatif).

Pour la présence du FF dans les deux lignes suivantes, je ne sais pas vraiment, c'est une habitude que j'ai vu.

EDIT : j'ai les réponses d'un des membres de Pobot

Serial.print( (val >> 8) & 0xff, BYTE);

Cela sert à être certain d'avoir un résultat après décalage sur un byte au cas où val ait été déclaré signé et que le bit de signe soit propagé par le shift.

Serial.print( val & 0xff, BYTE);

Cela sert à être certain d'avoir un résultat après décalage sur un byte.

En principe ça ne semble pas indispensable puisqu'on spécifie à print() que la donnée est sur un byte. Mais ça ne mange pas de pain au cas où on utilise autre chose comme fonction et qu'on oublie de forcer la taille de la donnée envoyée.