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 ---
Forum général sur le langage C !

Modérateur : Jérémy

Fonction de recupératon de donnée UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#1 Message par Jérémy » ven. 19 août 2016 21:50

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
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Fonction de recupératon de donnée UART
Claudius
Avatar de l’utilisateur
Passionné
Passionné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#2 Message par Claudius » sam. 20 août 2016 22:40

Bonsoir,

Regarde du coté de strtok et de son équivalent chez mikroC...

Fonction de recupératon de donnée UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » mar. 30 août 2016 08:23

Bonjour,

Oups oops !!! 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
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » mar. 30 août 2016 12:29

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
Aide toi, le ciel ou FantasPic t'aidera


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 51 invités