Salut,
Si tu as entré une telle valeur sur ce site je ne suis pas surpris que le résultat soit faux. Même un PC avec une variable unsigned long long int ne peut pas contenir un tel nombre.
Je vais t'apporter des éléments de réponse mais à mon avis tu es dans l'erreur avec ta trame SIGFOX.
Envoyé par
flavb83
Mon "53201250225225725098536002361012" est bien une chaîne de caractères
Ok, la question qui suit c'est comment est elle composée ?
"5" "32" "0" "125" ... ?
"53" "20" "12 "50" ... ?
"53" "201" "250" "225"... ?
Si tu ne le sais pas, c'est simplement impossible de répondre. Exemple, 20 en binaire ça donnerait 0001 0100 et 201 donnerait 11001001.
Une chose est sur c'est que cette chaîne ne peut pas représenter un seul nombre, c'est impossible car aucun type de variable ne peut la contenir. Même si tu utilises la fonction atoi() en C et qui sert précisément à convertir une chaîne de caractère en entier, tu ne peux pas y entrer une telle longueur. Ça déconnera exactement comme avec le site internet (débordement de variable).
*********************************************************************
Maintenant voilà ce que je pense ;
Tu es entrain de travailler sur le registre payload qui peut contenir jusque 12 octets d'informations. Ces 12 octets peuvent être composés comme bon te semble (c'est pour ça que personne ne peut te répondre), par exemple tu peux la composer ainsi :
[Température : 1 octet] [Humidité : 2 octet] [Heure : 1 octet] [Minute : 1 octet] [Seconde : 1 octet] [Entrée ana1 : 2 octets] [Entrée ana2 : 2 octets] [Batterie : 2 octets]
Voilà, ici tu as un exemple d'une trame payload de 12 octets.
Si tu réceptionnes cette trame et que tu l'affiches en décimal ça peut donner ça : 20 700 2 30 17 664 3000 65400 ou ça 23 37000 17 43 27 17003 24145 60 ou ....... (j'ai été sympa j'ai pas collé toutes les valeurs entres elles sinon ça donné ça 2070023017664300065400 ou 2337000174327170032414560)
Si tu ne nous donnes pas la composition de la trame on ne peut pas répondre.
Partager