je reçois un trame de caractère sur le port série de mon arduino, et dans le cadre d'un projet je dois stocker certaines chaines de caractère dans des String. Voici un exemple de trame :
Ce qui est bien c'est que ces mots que je veux stocker, sont entourés par des espaces, donc j'arrive à les identifier mais je ne vois pas comment je peux les stocker dans des variables de type String "à la volée" et tout en passant le moins possible par des tableaux...
Une piste, une fois l'entête trouvée utiliser readStringUntil()
L'usage de findUntil() permet de rechercher l'entête du message. Et c'est quand même plus élégant et plus sûr que de guetter le premier espace.
L'usage de la classe String est déconseillé avec les petits microcontrôleurs car la mémoire se trouve morcelée et cela entraîne des plantages.
L'utilisation de tableau (pour autant qu'ils soient bien dimensionnés) ne posera pas de problème.
Dans la class String, vous avez les fonctions indexOf et substring qui vous permettrons d'extraire les mots.
Vous rechercher le premier espace et vous recommencer la même chose en changeant la position de départ (from), celui précédemment trouvé et ainsi de suite. Et avec les différents index, vous pouvez extraire les mots avec la fonction string.