Je dois créer une trame de caractère pour envoyer une ID de l'arduino à un PC.
la trame à cette structure
1er octet code fonction => 0 identification
2nd octet longueur de la chaine de caractère
enfin les octets suivant chaque caractère de la chaine
print() peut aussi transformer certains caractères, par exemple 0x0A (linefeed) en saut de ligne, ou 0x0D (return) en retour chariot.
Donc si l'on veut envoyer les caractères bruts, sans qu'ils soient interprétés, write() est la seule solution, comme le préconise J-M-L.
➜ on a reçu le code ASCII des caractères pour HELLO ainsi que les octets pour les 2 autres
Par contre - et c'est important pour un flux binaire - Il faut s'assurer que la trame est une cString - c'est à dire terminée par un caractère nul qui ne sera pas envoyé et bien sûr ça veut dire aussi qu'on ne peut pas avec print envoyer un octet nul.
c'est pour cela que write() est plus adapté puisqu'on passe un pointeur sur un buffer et la taille du buffer et tous les octets sont envoyés, quelle que soit la valeur.