Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Fonction de recupératon de donnée UART
Modérateur : Jérémy
-
Jérémy
- Administrateur du site

- Messages : 2764
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Fonction de recupératon de donnée UART
Bonjour à tous,
Je suis en train de faire mon programme pour le GSM2 .
Seulement voila , je me suis mis en tête de traiter le dialogue avec un buffer, plutôt que la machine d'état .
Je cherche a créer une fonction me permettant de stocker une chaine contenu entre des guillemets .
Par exemple , en interrogeant le module GSM, celui ci me répond par :
8,"REC UNREAD","+33xxxxxxxxx","","2016/08/19 19:35:25+08"
Mon idée serait d'isoler chaque partie entre les guillemets pour la traiter .
Récupérer le numéro de téléphone pour le stocker dans un tableau la date et l'heure pour mettre à jour le module
Auriez vous des pistes pour savoir comment m'y prendre , afin de sélectionner le texte seulement entre 2 guillemets
Merci
Je suis en train de faire mon programme pour le GSM2 .
Seulement voila , je me suis mis en tête de traiter le dialogue avec un buffer, plutôt que la machine d'état .
Je cherche a créer une fonction me permettant de stocker une chaine contenu entre des guillemets .
Par exemple , en interrogeant le module GSM, celui ci me répond par :
8,"REC UNREAD","+33xxxxxxxxx","","2016/08/19 19:35:25+08"
Mon idée serait d'isoler chaque partie entre les guillemets pour la traiter .
Récupérer le numéro de téléphone pour le stocker dans un tableau la date et l'heure pour mettre à jour le module
Auriez vous des pistes pour savoir comment m'y prendre , afin de sélectionner le texte seulement entre 2 guillemets
Merci
C'est en faisant des erreurs, que l'on apprend le mieux !!!
-
Jérémy
- Administrateur du site

- Messages : 2764
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Fonction de recupératon de donnée UART
Bonjour,
Oups
!!! J'ai oublié de te répondre. autant pour moi !
J'ai regarder en travers ta fonction. Qui me parait très bien, mais j'ai pas tout compris , il faudrait que je test. Mais comme j'avais zappé, je'ai finalement fait autrement.
J' y reviendrait certainement par la suite, quand j'aurais fini les nombreuses choses ( trop ?) commencées.
Oups
!!! J'ai oublié de te répondre. autant pour moi !J'ai regarder en travers ta fonction. Qui me parait très bien, mais j'ai pas tout compris , il faudrait que je test. Mais comme j'avais zappé, je'ai finalement fait autrement.
J' y reviendrait certainement par la suite, quand j'aurais fini les nombreuses choses ( trop ?) commencées.
C'est en faisant des erreurs, que l'on apprend le mieux !!!
Fonction de recupératon de donnée UART
bonjour,
dans ton cas precis, le strok ne sera pas adapté
tu veux detecter les valeurs entre guillements , alors que les séparateurs sont des virgules !
le strok avec "," irait, sauf si il y a des champs vide tel que ""
car pour les guillemets il faudra gerer la detection du 1er guillemet rencontré
memeorise cette position p+1 = debut de la data
gerer la 2em occurence du 'guillemet
mettre un 0 à la position courante -1
p pointe amors sur la data isolée
..etc..
mais le cas K de la chaine vide "" !
c'ela me parait compliqué de faire ainsi..
pouquoi ne pas utiliser le strstr(buffer,"+33") pour localiser le debut d epointeur num de telephone
et strstr(buffer,"201") sur debut de date et heure
dans ton cas precis, le strok ne sera pas adapté
tu veux detecter les valeurs entre guillements , alors que les séparateurs sont des virgules !
le strok avec "," irait, sauf si il y a des champs vide tel que ""
car pour les guillemets il faudra gerer la detection du 1er guillemet rencontré
memeorise cette position p+1 = debut de la data
gerer la 2em occurence du 'guillemet
mettre un 0 à la position courante -1
p pointe amors sur la data isolée
..etc..
mais le cas K de la chaine vide "" !
c'ela me parait compliqué de faire ainsi..
pouquoi ne pas utiliser le strstr(buffer,"+33") pour localiser le debut d epointeur num de telephone
et strstr(buffer,"201") sur debut de date et heure
Aide toi, le ciel ou FantasPic t'aidera
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités
