Commandes AT

Signaler
Messages postés
5
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
13 janvier 2003
-
Messages postés
1
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
19 janvier 2006
-
Bonjour,
Lorsque j'envoi une commande AT à mon modem je ne parviens pas à lire la réponse. J'utilise la méthode suivante :

HANDLE hPort = CreateFile ( "com1"
, GENERIC_READ | GENERIC_WRITE
, 0
, NULL
, OPEN_EXISTING
, FILE_ATTRIBUTE_NORMAL
, NULL
);
strcpy (writeBuffer,"AT/r/n");
Err=WriteFile ( hPort
, &writeBuffer
, strlen (writeBuffer)
, &charsWritten
, NULL
);
Sleep (1000);
Err=ReadFile ( hPort
, &readBuffer
, strlen (readBuffer)
, &charsRead
, NULL
);

Dans ReadBuffer j'ai ce que j'ai envoyé c'est à dire "At" alors que je devrais avoir "ok"
Est-ce un bug de ma part ou de Windows Xp ?

4 réponses

Messages postés
117
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
14 janvier 2003
3
Salut,

Ajoute des GetLastError et tu trouveras d'ou vient le probleme.
Le port est-il vraiment ouvert ?
Messages postés
5
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
13 janvier 2003

Le problème c'est que l'appel des fonctions se passe correctement sans erreur. La fonction Read renvoi simplement ce qui a été écrit à la place de "OK" !
Messages postés
95
Date d'inscription
mercredi 5 décembre 2001
Statut
Membre
Dernière intervention
27 juin 2006

j'ai fait une petite recherche sur google pour voir comment s'y prennent ceux qui ont reussi a utilisé les port serie, et je remarque qu'ils utilisent :
SetupComm( HdComm, 1024, 1024 );
GetCommState( HdComm, &Dcb );
Dcb.BaudRate = BAUD_115200;
Dcb.Parity = NOPARITY;
Dcb.ByteSize = 8;
Dcb.StopBits = ONESTOPBIT;
SetCommState( HdComm, &Dcb );
HdComm etant le handle du fichier (ou port) ouvert.
et dcb etant du type : DCB Dcb;

Reference :
- http://www.fadshop.net/ben/serial1.htm
- http://www.experts-exchange.com/Programming/Programming_Languages/C/Q_10136460.html
- http://www.ff.iij4u.or.jp/~jun1/csa/wcsc11/source_win_e.html

voila j'espere que ça va t'aider
a+
Croqmort
Messages postés
1
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
19 janvier 2006

Bonjour,



J'ai le même problème que croll, c'est à dire que lorsque j'envoie les
commandes AT sur le port série vers un téléphone portable (dans mon
cas), avec la fonction "writefile", et qu'ensuite je vais lire la
réponse sur le port, avec la fonction "readfile", j'ai dans mon buffer
les commandes que j'ai envoyées : AT au lieu de OK.

Je précise que je n'obtiens jamais OK même si j'envoie AT\r ou AT \n ou AT\r\n.

Est-ce un bug dans le formatage de la chaîne ou autre ?

Ziosta