Conversion d'un float en char
Fermé
shuffle56
Messages postés
24
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
29 mars 2013
-
Modifié par shuffle56 le 20/02/2013 à 17:20
manumdk Messages postés 2 Date d'inscription samedi 22 février 2014 Statut Membre Dernière intervention 25 février 2014 - 25 févr. 2014 à 22:40
manumdk Messages postés 2 Date d'inscription samedi 22 février 2014 Statut Membre Dernière intervention 25 février 2014 - 25 févr. 2014 à 22:40
A voir également:
- Arduino pstr
- Coco char - Accueil - Réseaux sociaux
- Monnaie conversion - Télécharger - Banque & Budget
- Conversion bytes en mo ✓ - Forum Programmation
- Tableau conversion heure en centième - Forum LibreOffice / OpenOffice
- Bits, bytes, octet, Mb - Forum Réseau
5 réponses
shuffle56
Messages postés
24
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
29 mars 2013
3
Modifié par shuffle56 le 21/02/2013 à 10:56
Modifié par shuffle56 le 21/02/2013 à 10:56
Merci pour votre réponse
J'ai déjà essayé cette possibilité mais au moment ou j'introduis ma variable sans les ""
xPL_Send_Arduino:81: error: initializer fails to determine size of '__c'
Cette erreur est retournée
Code avant:
msg.AddCommand_P(PSTR("current"),PSTR("22"));
Code après:
msg.AddCommand_P(PSTR("current"),PSTR(_value));
J'ai bien crée ma variable _value avant et je suis pas très expérimenté dans le sujet ...
J'ai déjà essayé cette possibilité mais au moment ou j'introduis ma variable sans les ""
xPL_Send_Arduino:81: error: initializer fails to determine size of '__c'
Cette erreur est retournée
Code avant:
msg.AddCommand_P(PSTR("current"),PSTR("22"));
Code après:
msg.AddCommand_P(PSTR("current"),PSTR(_value));
J'ai bien crée ma variable _value avant et je suis pas très expérimenté dans le sujet ...
mamiemando
Messages postés
33622
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
7 avril 2025
7 839
21 févr. 2013 à 20:47
21 févr. 2013 à 20:47
Ta variable value devrait être l'équivalent de ce que j'ai appelé buffer.
manumdk
Messages postés
2
Date d'inscription
samedi 22 février 2014
Statut
Membre
Dernière intervention
25 février 2014
22 févr. 2014 à 19:32
22 févr. 2014 à 19:32
Bonjour à tous,
J'ai le même problème que Shuffle56, comment l'as tu résolu pour finir ?
Je suis aussi sur du XPL pour envoyer mes relevés de température.
A+
J'ai le même problème que Shuffle56, comment l'as tu résolu pour finir ?
Je suis aussi sur du XPL pour envoyer mes relevés de température.
A+
mamiemando
Messages postés
33622
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
7 avril 2025
7 839
24 févr. 2014 à 21:15
24 févr. 2014 à 21:15
As-tu essayé sprintf comme indiqué ici ?
https://forums.commentcamarche.net/forum/affich-27183420-conversion-d-un-float-en-char#1
https://forums.commentcamarche.net/forum/affich-27183420-conversion-d-un-float-en-char#1
manumdk
Messages postés
2
Date d'inscription
samedi 22 février 2014
Statut
Membre
Dernière intervention
25 février 2014
25 févr. 2014 à 22:40
25 févr. 2014 à 22:40
Merci pour ta réponse,
J'ai utilisé la fonction itoa() et surtout utilisé la fonction msg.AddCommand(PSTR("current"),PSTR("22"));
au lieu de :
msg.AddCommand_P(PSTR("current"),PSTR("22"));
Les versions des fonctions avec le "_P" permettent de recevoir des chaines stockées en memoire flash (PSTR) ce qui permet de libérer de la ram, merci Olivier.
A ce jour, je bloque sur la réception.
Le parse décode bien la trame xPL mais je n'arrive pas à passer dans le If qui valide le schema-class et le schema-type.
J'ai laissé les valeurs par défauts control.basic, mais rien à faire et le debug avec serial.print est un peu light....
A+
J'ai utilisé la fonction itoa() et surtout utilisé la fonction msg.AddCommand(PSTR("current"),PSTR("22"));
au lieu de :
msg.AddCommand_P(PSTR("current"),PSTR("22"));
Les versions des fonctions avec le "_P" permettent de recevoir des chaines stockées en memoire flash (PSTR) ce qui permet de libérer de la ram, merci Olivier.
A ce jour, je bloque sur la réception.
Le parse décode bien la trame xPL mais je n'arrive pas à passer dans le If qui valide le schema-class et le schema-type.
J'ai laissé les valeurs par défauts control.basic, mais rien à faire et le debug avec serial.print est un peu light....
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33622
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
7 avril 2025
7 839
20 févr. 2013 à 20:06
20 févr. 2013 à 20:06
Si tu veux écrire une valeur float dans une chaîne de caractère (char * ou char[] et non char comme indiqué dans le titre du message) tu peux utiliser sprintf. Dans google ou dans un terminal linux :
Exemple :
Bonne chance
man sprintf
Exemple :
#include <stdio.h> int main() { float x = 5.678; char buffer[20]; sprintf(buffer, "%f", x); printf("%s\n", buffer); return 0; }
Bonne chance
21 févr. 2013 à 13:58