Pages: [1]   Go Down
Author Topic: remplir un tableau avec UDP  (Read 1942 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Pays de la betise
Offline Offline
Sr. Member
****
Karma: 4
Posts: 419
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

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

Gromain
Logged

"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

Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pays de la betise
Offline Offline
Sr. Member
****
Karma: 4
Posts: 419
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

"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

Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Pays de la betise
Offline Offline
Sr. Member
****
Karma: 4
Posts: 419
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

De rien, c'est en forgeant qu'on devient forgeron  smiley

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
« Last Edit: February 05, 2011, 05:46:23 am by Gromain59 » Logged

"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

Pages: [1]   Go Up
Jump to: