Re: Transfer et Parser des données Arduino
Publié : 08 juin 2013 09:37
Oui, en effet, il faut que tu choisisse une lettre. Là, j'ai du adapter deux lignes et je me suis mélanger les pinceaux. Donc si j'ai utiliser int 1 = 0; ben il faut utiliser "i" dans la boucle et sur la ligne "for()". En théorie, on utilise "i", "j" ou "k". Mais uil n'est pas interdit d'utiliser "zz"... ou "ii"...
Ensuite, si tu a les bonnes valeurs, il faut regarder s'il ne te faut pas de conversion. Un string acceptera des integer "int" dedans, il me semble. Mais on réceptionne sur des bytes qui eux n'accepte que des valeurs de 0 à 255 (donc pas les nombres à virgule). Donc il faudra adapter.
Je vais te donner un lien vers un forum ou tu pourra traiter de CE sujet ; à Savoir la réception de données brute et le retraît du byte.
1/ Le lien : http://forum.arduino.cc/index.php/board,33.0.html (Forurm arduino Français)
2/ Poste y la trame que tu envoie, et le code de réception.
3/ Pense à ajouter tes déclaratif, ton initialisation, ta boucle, tes fonctions.
4/ Indique que tu utilise du byte en réception et qu'à priori il ne gère pas les nombres à virgule. Cf mon explication du dessus.
5/ Je passerais sur le fofo pour voir si une piste se dégage et éventuellement pour aider si je peux, connaissant le sujet.
Je tiens à précisé que je ne me décharge pas de ce code. Je donne une piste pour pouvoir l'adapter. Et qui est mieux pour adapter mon code à sa propre problématique que le programmeur de son propre soum ? Donc papy, ici on essaiera de discuter ensemble de la solution finale et des possibilités offertes et là bas du code lourd avec, bien souvent des solution passant par des pointeurs.
D'ailleurs tu a du en remarqué des pointeurs dans la réception. C'est ce qui permet de sauter dans la boucle avec le strtok_r(); Dans la seconde ligne c'et un NULL car le pointeur sait là ou il en est et incrémente de lui-même. Elle est pas belle la vie
Dans tous les cas, Papy et ça vaut pour toute programmation et tous programmeur. Il faut rester calme. Il peut s'écouler un long moment avec une réponse et il ne faut pas hésiter à re-concevoir la trame et les valeurs transmises. Si on y arrive pas totalement en réception, il faudra alors adapter l'émission. Mais là, dans notre cas, c'est le byte qui fiche le bazar.
Si une piste se dégage et qu'une correction permet la résolution de ce problème, on ne manquera pas de le rajouter là avec les liens de la discussion sur le form pour que le novice qui cherche à faire la même chose puisse trouver la solution.
Voila, j'espère vraiment qu'on arrivera à trouver. Mais je réserve une piste potentielle sur un site pro au cas.
Ensuite, si tu a les bonnes valeurs, il faut regarder s'il ne te faut pas de conversion. Un string acceptera des integer "int" dedans, il me semble. Mais on réceptionne sur des bytes qui eux n'accepte que des valeurs de 0 à 255 (donc pas les nombres à virgule). Donc il faudra adapter.
Je vais te donner un lien vers un forum ou tu pourra traiter de CE sujet ; à Savoir la réception de données brute et le retraît du byte.
1/ Le lien : http://forum.arduino.cc/index.php/board,33.0.html (Forurm arduino Français)
2/ Poste y la trame que tu envoie, et le code de réception.
3/ Pense à ajouter tes déclaratif, ton initialisation, ta boucle, tes fonctions.
4/ Indique que tu utilise du byte en réception et qu'à priori il ne gère pas les nombres à virgule. Cf mon explication du dessus.
5/ Je passerais sur le fofo pour voir si une piste se dégage et éventuellement pour aider si je peux, connaissant le sujet.
Je tiens à précisé que je ne me décharge pas de ce code. Je donne une piste pour pouvoir l'adapter. Et qui est mieux pour adapter mon code à sa propre problématique que le programmeur de son propre soum ? Donc papy, ici on essaiera de discuter ensemble de la solution finale et des possibilités offertes et là bas du code lourd avec, bien souvent des solution passant par des pointeurs.
D'ailleurs tu a du en remarqué des pointeurs dans la réception. C'est ce qui permet de sauter dans la boucle avec le strtok_r(); Dans la seconde ligne c'et un NULL car le pointeur sait là ou il en est et incrémente de lui-même. Elle est pas belle la vie
Dans tous les cas, Papy et ça vaut pour toute programmation et tous programmeur. Il faut rester calme. Il peut s'écouler un long moment avec une réponse et il ne faut pas hésiter à re-concevoir la trame et les valeurs transmises. Si on y arrive pas totalement en réception, il faudra alors adapter l'émission. Mais là, dans notre cas, c'est le byte qui fiche le bazar.
Si une piste se dégage et qu'une correction permet la résolution de ce problème, on ne manquera pas de le rajouter là avec les liens de la discussion sur le form pour que le novice qui cherche à faire la même chose puisse trouver la solution.
Voila, j'espère vraiment qu'on arrivera à trouver. Mais je réserve une piste potentielle sur un site pro au cas.