Je réalise une station météo avec Arduino et Labview (logiciel de programmation), pour cela j'ai besoin de convertir un char en un byte, ce char correspond à la "sortie" d'un capteur de pression BMP180.
J'ai essayé d'utiliser la fonction byte(), mais je n'arrive pas à convertir ma variable nommée "h".
Quelqu'un a une solution?
Merci de votre aide.
myBMP.begin();
unsigned char h = (myBMP.getTemperature(), 1);
//byte("104"); //correspond au h en Ascii
Serial.println(h);
J'utilise la librairie BMP180.h visible au lien suivant :
Cette commande me permets de récupérer les données ici de température, il y a la même commande pour la pression. J'utilise un unsigned char car il était présent dans un exemple de communication entre Arduino et Labview (via le plugin Linx )
Un char et un byte c'est pareil (ou presque, faut voir si byte est unsigned ou signed).
Préoccupes toi de savoir ce que contient ta variable, avant de te préoccuper du conteneur en C.
unsigned char h = (myBMP.getTemperature(), 1);
C'est quoi ça, c'est du C++ ? ça compile sans erreur ? Moi je ne sais pas ce que ça fait (et il y a peu de chance que h contienne ce que tu crois).
Afin d'envoyer sur le logiciel Labview je dois avoir un byte et non un float ( effectivement le char était inutile, c'était une erreur de ma part). il me faut donc convertir ce float getTemperature() en un char.
Je dois envoyer sur Labview un byte dans un tableau, mais je ne peux simplement mettre 25 dans un tableau car le logiciel va comprendre 25 mais en ASCII (ce qui ne correspond pas au 25 décimal).
Tu nous expliques clairement ce qu'attends labview, et on te donne la solution.
Apparemment Labview attend une valeur réelle (c-à-d non entière), encodée comme une chaîne de caractères (par ex. "25.123") représentant une température exprimée en degrés Celsius.
La chaîne doit ou bien n'a pas besoin d'être terminée par un octet nul ?
Vrai ? Faux ? à toi de dire selon le manuel de Labview.