Bonsoir,
Je cherche à “reconvertir” ma chaine de caractères en réception RX1 (devenue binaire ou hexa), en string pour l’afficher sur mon TFT.
Mon essai:
String test = (80,HEX)); //(exemple pour afficher “P”)
myGLCD.print(test,600,100);
Je me suis mal expliqué;
J’utilise la librairie GLCD pour afficher sur mon TFT et non sur le PC. Donc print et printf ne fonctionnent pas.La fonction “myGLCD.print(test,600,100)” attend une constante de type char.
myGLCD.print(“P”,600,100) ----> OK
myGLCD.print((80, BYTE),600,100) ne fonctionne pas (“P”----> 80 en hexa) .
Non "P" c'est un tableau de char contenant 2 caractères: 'P' et '\0'
Je cherche à "reconvertir" ma chaine de caractères en réception RX1 (devenue binaire ou hexa), en string pour l'afficher sur mon TFT.
Je ne comprends pas qu'est-ce que tu veux convertir... Pourquoi tu dis que ta chaine de caractère est devenue binaire ou hexa?
Quand tu lis un caractère avec Serial.read, le caractère n'est pas transformé en binaire ou en hex puisque ce ne sont que des moyens de représenter un même nombre.
Si tu veux transformer un caractère en string, tu dois tout simplement mettre le caractère dans un tableau de char terminé par un '\0'.
HC11F1ST:
Deuxième étape; parser une trame de la forme <;char;byte;byte;byte;>
Plutôt qu’un parser il serait sans doute préférable de traiter les informations au fur et à mesure de leur réception à l’aide d’une petite machine à état.
fdufnews:
Plutôt qu’un parser il serait sans doute préférable de traiter les informations au fur et à mesure de leur réception à l’aide d’une petite machine à état.
Je plussoie, ce serait la “bonne” façon de faire.
Voir le topic de Barbudor sur l’implémentation d’un protocole de communication pour connaitre la marche à suivre