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 ---
Modérateur : Jérémy
Module GSM2-Click
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Il est optionnel !
Nos pensées se sont croisées, car je viens d'éplucher la fonction switch et je l'ai rajouté pour être sur .
Pareil !!
Un truc de fou ! j'ai enlever deux autres "case" pour tester les reponse 5 et 6 , ca focntionne ! ce n'est donc pas le code des réponses qui foire
Nos pensées se sont croisées, car je viens d'éplucher la fonction switch et je l'ai rajouté pour être sur .
Pareil !!
Un truc de fou ! j'ai enlever deux autres "case" pour tester les reponse 5 et 6 , ca focntionne ! ce n'est donc pas le code des réponses qui foire
Module GSM2-Click
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
En ecrivant ca , ca fonctione parfaitement
Code : Tout sélectionner
if (Buffer[0]=='>')
{
delay_ms(100);
RC1IE_bit = 0;
switch (reponse) {
/*case 1: {
Creation_du_message();
M95_Send(Message_SMS);
break;
}
*/ case 2: {
UART1_Write_text("Le Chrono est parti !");
UART1_Write(0x0D);
UART1_Write(0x0A);
break;
}
case 3: {
UART1_Write_text("La demande est annulée");
UART1_Write(0x0D);
UART1_Write(0x0A);
break;
}
case 4: {
UART1_Write_text("ERREUR DE FORMAT\r\nIl faut envoyer :\r\nChrono Hxx Mxx Sxx");
UART1_Write(0x0D);
UART1_Write(0x0A);
break;
}
case 5: {
UART1_Write_text("Le chrono a ete arreter !");
UART1_Write(0x0D);
UART1_Write(0x0A);
break;
}
case 6: {
UART_Write_text("Ceci est mon etat");
UART1_Write(0x0D);
UART1_Write(0x0A);
break;
}
default : {
UART_Write_text("Ceci est mon etat");
UART1_Write(0x0D);
UART1_Write(0x0A);
}
}
delay_ms(100);
UART1_Write(0x1A); // Envoi CTRL + Z comme caractere de fin
delay_ms(100);
RC1IE_bit = 1;
delay_ms(1000);
Attente_OK();
}
Module GSM2-Click
Module GSM2-Click
Module GSM2-Click
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
J'avance enfin à grand pas. le programme est fonctionnel. Je peaufine quelques détails avant de me lancer dans l'optimisation !
@Paul : as tu traiter des éventuelles erreurs dans ton programme concernant le dialogue UART Module GSM<---> PIC ? si oui quelle à été ta stratégie ? reset ? boucle ?
J'avance enfin à grand pas. le programme est fonctionnel. Je peaufine quelques détails avant de me lancer dans l'optimisation !
@Paul : as tu traiter des éventuelles erreurs dans ton programme concernant le dialogue UART Module GSM<---> PIC ? si oui quelle à été ta stratégie ? reset ? boucle ?
Module GSM2-Click
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Je traite comme ca !
Si il y a une erreur le module GSM renvoie du texte avec forcement le mot "ERROR" dedans , souvent suivis du numeros de l'erreur du style = +CMS ERROR : 1 .
Dans ma machine d'état je détecte le mot "ERROR" et je lève le flag "Erreur".
Dans mon main je traite ce flag comme suit :
Si je le flag "Ok" se lève alors je sors .
Si le flag "Ok" se lève pas , je reboucle.
Au bout de 5 boucles je RAZ toutes mes variables et drapeau.
Au bout de 10 boucles, je reset !
Si il y a une erreur le module GSM renvoie du texte avec forcement le mot "ERROR" dedans , souvent suivis du numeros de l'erreur du style = +CMS ERROR : 1 .
Dans ma machine d'état je détecte le mot "ERROR" et je lève le flag "Erreur".
Dans mon main je traite ce flag comme suit :
Code : Tout sélectionner
if (Erreur) // Si flag Erreur levé
{
Erreur = 0; // RAZ du flag
i=0;
while(Ok==0) // Ici on envoie la commande "AT" tant que le Flag "Ok" n'est pas levé
{
i++;
UART1_Write_Text("AT");
UART1_Write(13);
delay_ms(1000);
if (i==5) // RAZ des variables et flag
{
Valeur = SMS_enregistre = Chrono = CMTI = temp = Fleche = reponse_a_envoyer = 0;
Demande_Lancement = Lancement = 0 ;
}
if (i>10)
asm reset;
}
i = 0;
Ok = 0; // RAZ flag "Ok"
}
Si je le flag "Ok" se lève alors je sors .
Si le flag "Ok" se lève pas , je reboucle.
Au bout de 5 boucles je RAZ toutes mes variables et drapeau.
Au bout de 10 boucles, je reset !
Module GSM2-Click
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Allez tant qu'a y être un 7iéme post de suite !!!!!
je cherche a connaitre l’état de mon signal pour l'indiquer dans un SMS "d'état" .
Pour ce faire je compte utilisé la commande "AT+CSQ" .
J’ai des doutes sur ma compréhension de l'extrait de la DS suivant :
La réponse du module GSM sera +CSQ: <rssi>,<ber>
Avec <rssi> la qualité du signal. Mais la valeur "0" correspond bien à un réseau max, donc je "capte" à fond ? jai 4 barres ??
et de 2 à 30 je capte pas terrible
et supérieur à 31 je capte presque rien ( 1 barre)
Que signifie le <ber> ? byte error en pourcentage ? est-ce mieux d'utilisé celui ci ?
Merci à vous si vous comprenez mieux et avez des infos pour moi
je cherche a connaitre l’état de mon signal pour l'indiquer dans un SMS "d'état" .
Pour ce faire je compte utilisé la commande "AT+CSQ" .
J’ai des doutes sur ma compréhension de l'extrait de la DS suivant :
La réponse du module GSM sera +CSQ: <rssi>,<ber>
Avec <rssi> la qualité du signal. Mais la valeur "0" correspond bien à un réseau max, donc je "capte" à fond ? jai 4 barres ??
et de 2 à 30 je capte pas terrible
et supérieur à 31 je capte presque rien ( 1 barre)
Que signifie le <ber> ? byte error en pourcentage ? est-ce mieux d'utilisé celui ci ?
Merci à vous si vous comprenez mieux et avez des infos pour moi
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Module GSM2-Click
Module GSM2-Click
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour Jeremy
Tools
Ascii Chart
codage ''a'" = 0xE0 ou 224
Tools
Ascii Chart
codage ''a'" = 0xE0 ou 224
Code : Tout sélectionner
CRLF1();
UART1_Write(0xE0);
CRLF1();
sprintf(txt,"Bonjour %c Jeremy\r\n",224) ;
UART1_Write_Text(txt);
CRLF1();
Module GSM2-Click
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Jérémy a écrit :...
Avec <rssi> la qualité du signal. Mais la valeur "0" correspond bien à un réseau max, donc je "capte" à fond ? jai 4 barres ??
et de 2 à 30 je capte pas terrible
et supérieur à 31 je capte presque rien ( 1 barre)
le RSSI varie usuellement de -30 dBm à -120 dBm selon la distance avec l'antenne émettrice
si on ne tient pas compte du signe, une valeur tres faible correspond au maxima de signal
Je ne suis pas actuellement sur mon module GSM2 pour tester ceci..
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 51 invités