Go Down

Topic: remplir un tableau avec UDP (Read 2146 times) previous topic - next topic

gnomathibus

Bonjour, je précise que débute avec mon arduino, j'ai réussi à transmettre des "strings" en UDP avec les exemples qui sont donnés mais je cherche à savoir si il est possible de remplir un tableau qui est à l'intérieur de mon arduino avec UDP, sinon j'utilise c# pour envoyer les messages à l'arduino, si quelqu'un peu m'éclairer sur la question merci.

Salut,

un tableau de quoi ? que veux tu stocker, la trame UDP complète ?
Précise un peu ton besoin...

Gromain
"pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires..."

projet domotique xPLDuino
IRC: freenode #xplduino

gnomathibus

merci pour ta réponse gromain en faite je veux simplement remplir un tableau d'entier via l'UDP

Connais-tu déjà ce que tu vas recevoir comme données ?
Comme tout ce qui passe par un réseau ou une liaison série, les données contenues dans un datagramme UDP sera codé en ASCII.
Ainsi, si tu reçois "123", ce sera en fait 3 octets: "1" = 0x31, "2" = 0x31, "3" = 0x32. La fonction sscanf, par ex, te permettra de convertir ces 3 octets en un entier qui vaudra "123".
Ensuite, range le résultat dans un tableau d'entier.

Gromain
"pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires..."

projet domotique xPLDuino
IRC: freenode #xplduino

gnomathibus

merci encore à toi gromain pour avoir éclairé ma lanterne sur le sujet, j'y vois un peu plus clair maintenant, sinon  oui je connais les données qui vont être reçu, j'ai fais un peu de recherche sur la fonction sscanf, mais  je ne vois pas encore comment bien l'utiliser pour traiter ma trame et la trier dans un tableau, c'est aussi que je ne suis pas très doué dans ce domaine  :smiley-roll-blue:

#5
Feb 05, 2011, 11:44 am Last Edit: Feb 05, 2011, 11:46 am by Gromain59 Reason: 1
De rien, c'est en forgeant qu'on devient forgeron  :)

Il te faut:

- récupérer la trame et la stocker dans un tableau de char.
- décoder ce tableau en le passant à la moulinette de sscanf
- stocker le résultat où bon te semble

Pour ce qui est de sscanf, c'est une fonction qui marche très bien pour extraire tout type de données. Mais il faut que la chaine de caractère à décoder respecte toujours le format que tu as définis dans la fonction.

Ex. Tu reçois un datagramme contenant:


  • '123/456' => 'sscanf(trame, "%d/%d", &valeur1,&valeur2)'

  • 'temperature=45' => 'sscanf(trame, "temperature=%d", &valeur1)'




Sous quelle forme compte tu recevoir tes données ?

Gromain
"pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires..."

projet domotique xPLDuino
IRC: freenode #xplduino

Go Up