gestion de message reçu en I2C


salut, je fabrique en ce moment une surface de contrôle pour logiciel de son. l'intérieur il y 6 arduino nano dont 5 communiquent en i2c (master listener). je voudrais que l'un deux envoi des messages de ce type : "<002:058:060>" avec  "<" et ">" en indicateur de début et de fin et ":" comme séparateur. ensuite je voudrais que le maitre qui reçoit le message puisse le découper en fonction des séparateurs et assigner les valeurs reçue aux bons endroits.
je pensait convertir ce que j'ai reçu en string, attendre que la variable face 13 caractère, puis la découper et convertir les valeurs en integer pour les traiter.
comment puis je faire ?

ps : quand j'utilise
code: [select]

wire.readstring();

j'ai un temps de latence de fou, au moins une seconde.
j'utilise donc :
code: [select]

wire.settimeout(10);

mais c'est pas génial.

merci !

bonjour

es-tu obligé de t'embêter à véhiculer en i2c des valeurs étendues, pour ensuite les stocker dans un chaîne de caractères et en extraire les valeurs ?

je ne vois pas l'intérêt d'ajouter des balises de début/fin, séparateur etc
"<002:058:060>"

ce message fait 13 caractères (13 octets). si l'objectif est d'envoyer 3 valeurs de type octet et les extraire à l'autre bout, autant écrire simplement un message de trois octets directement sur le bus i2c.


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > gestion de message reçu en I2C


arduino

Comments