décomposition d'une chaine en variables uint8_t

Bonsoir,

Ne touchez pas au if, il repère le début de la chaîne. Laissez
if ((p != NULL) && (*p == '$'))

Le problème est à la fin, avec le car "", qu'il faut ajouter à la "," comme caractère séparateur reconnu par le strtok. Pour cela, modifiez la chaîne qui contient les séparateurs pour le strtok. Il faut ajouter "" c-à-d :

const char * virgule = ",*";

strtok va reconnaître "*" comme séparateur comme il reconnait la virgule et vous devriez récupérer votre checksum.

Pour que ce soit propre, il faudrait aussi changer le nom de "virgule" en "separateur" car il y a un risque de confusion, mais c'est cosmétique.

Après, quand vous aurez repris courage, on optimisera l'émission.

Bonne bidouille

MicroQuettas