Convertir ASCII en HEX

Bonjour,

comment fait-on pour convertir du ASCII en HEX. je recupère d'une liaison serie des data que j'aimerais avoir en HEX.

merci d'avance

ici le code :slight_smile:

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(12, 2); // RX | TX

byte rec[200]={0};
int q=0;
int a=0;
int limite= 0;
String trame;
String angles;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
 while (!Serial){
    ;
 }
 
 BTSerial.begin(115200);
 BTSerial.write("F");
 
}

void loop() {
{
   if(BTSerial.available()>0)
    
       trame = BTSerial.readString();
       angles = trame.substring(9, 43);
    
       Serial.println("Données utiles :");
       Serial.println(angles);

       
delay(1000);       
   
       }
}

La vous mettez le résultat dans une String, c’est du texte en ascii que vous recevez ?

non c'est des donnés diverses (angle, accelérations, etc...)

Que voulez vous faire alors ? Afficher chaque caractère de la chaîne sous forme numérique en hexa ? C’est ça ? A quoi cela sert il ?

oui c'est ca . le but c'est de recuperer les données et les affichers en hexa

C’est un but idiot si je peux me permettre :wink:
Les humains savent mieux lire les caractères ASCII que leur code hexadécimal généralement

Mais pour le faire il suffit d’écrire une boucle avec un index qui va de 0 à la longueur de la chaîne (on l’obtient avec length()) et de demander le caractère à chaque position de l’index avec charAt() et de l’imprimer Serial.println(angles.charAt(index), HEX); en demandant donc le format HEX

Bonsoir strike_lord

Pourrais tu donner un exemple de ce donne angles avec cette opération?

Cordialement
jpbbricole