Accueil > Forum > > > > Executer des commandes Hayes (AT) en language C
Executer des commandes Hayes (AT) en language C
mardi 15 février 2011 à 15:03:13 |
Executer des commandes Hayes (AT) en language C

S1rK
|
Hello la compagnie,
Voila mon "problème" (il n'y en a pas pour le moment xD) je cherche a crée un petit programme en C de préférence, capable d'exécuté des commandes Hayes d'un modem vers un autre modem.
A savoir que j'ai déja test la plupart des commandes, et que celles-ci fonctionnent, mais je ne vois pas trop comment les exécutés dans un programme en C (pour le moment je cherche, mais je n'ai pas de pistes, en parallèle je découvre la programmation sous Linux aussi..)
Du genre lorsque je fais un "AT" savoir si celui-ci reçoit l'information ou non, ou encore émettre un appel "ATD 301" (vers le poste 301 ici)
Si une âme charitable à une idée, un tuto, des bouts de codes qui me serviraient d'exemple ou quoi que ce soit, je suis preneur :)
En espérant m'être fait comprendre ^^ merci d'avance!
Cordialement
|
|
mercredi 16 février 2011 à 07:18:47 |
Re : Executer des commandes Hayes (AT) en language C
|
vendredi 18 février 2011 à 11:27:02 |
Re : Executer des commandes Hayes (AT) en language C

S1rK
|
Salut!
Merci pour ton aide, c'est peut-être pas grand chose, mais ton explication m'a mis sur la bonne voie, encore merci =)
J'ai récupéré un programme complet et fonctionnel certes, mais que je ne comprends pas forcement (ce qui n'est pas mon but), donc je suis reparti sur quelque chose de beaucoup plus simple et clair, par contre j'ai un nombre d'erreur incalculable dans mon programme, si ton oeil d'expert ou celui d'un autre peut m'aider, un grand merci d'avance!! :)
Code C/C++ : #include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
#include <unistd.h>
int fd1;
int fd2;
char *buff,*buffer,*bufptr;
int wr,rd,nbytes,tries;
int main()
{
return 0;
}
//Next step, we connect to device through associated file and check the connection:
fd1 = open(“/dev/ttyS0″, O_RDWR | O_NOCTTY | O_NDELAY);
if (fd1 == -1 )
{
perror(“open_port: Unable to open /dev/ttyS0 – “);
}
else
{
fcntl(fd1, F_SETFL,0);
printf(“Port 1 has been sucessfully opened and %d is the file description\n”,fd1);
}
//Where, “/dev/ttyS0” is associated with COM1 port.
//With following code we send to device some bits:
wr=write(fd1,”ATZ\r”,4);
//And for reading response from device:
rd=read(fd1,buff,10);
printf(“Bytes sent are %d \n”,rd);
//At the end, close the connection:
close(fd1);
|
|
vendredi 18 février 2011 à 11:32:53 |
Re : Executer des commandes Hayes (AT) en language C

S1rK
|
oups, petit problème lors du c/c.. les #8220 représentent des " 
|
|
samedi 19 février 2011 à 21:40:07 |
Re : Executer des commandes Hayes (AT) en language C

beg0
|
Réponse acceptée !
Je ne sais pas si tu fais du C depuis longtemps, mais en C le point d'entrée (i.e. l'endroit de la premiere instruction executée) est la fonction main(). Tout ce qui est en dehors de la fonction main() ne sera pas executé (Enfin c'est pas tout à fait vrai, mais pour l'instant ca suffira ;) )
Voici un programme minimaliste en C
Code C/C++ :
/* file: hello.c */
#include <stdio.h>
int main()
{
puts("Hello, world");
return 0;
}
Ce programme peut se compiler avec la ligne de commande suivante
Code :
$ gcc -Wall -o hello hello.c
Voici un truc qui devrais plus ou moins marcher.
J'ai simplement mis tout le code à l'interieur du main() et ajouté deux lignes pour l'allocation/liberation de memoire pour la variable buff
Code C/C++ :
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
#include <unistd.h>
int main()
{
int fd1;
int fd2;
char *buff,*buffer,*bufptr;
int wr,rd,nbytes,tries;
//beg0 added: Allocation memoire necessaire
buff=(char*)calloc(sizeof(char), 10+1);
//Next step, we connect to device through associated file and check the connection:
fd1 = open(“/dev/ttyS0″, O_RDWR | O_NOCTTY | O_NDELAY);
if (fd1 == -1 )
{
perror(“open_port: Unable to open /dev/ttyS0 – “);
}
else
{
fcntl(fd1, F_SETFL,0);
printf(“Port 1 has been sucessfully opened and %d is the file description\n”,fd1);
}
//Where, “/dev/ttyS0” is associated with COM1 port.
//With following code we send to device some bits:
wr=write(fd1,”ATZ\r”,4);
//And for reading response from device:
rd=read(fd1,buff,10);
printf(“Bytes sent are %d \n”,rd);
//At the end, close the connection:
close(fd1);
//Beg0 added: Liberation de la memoire allouée
free(buff);
return 0;
}
Pourrait on egalement savoir comment tu compiles ton programme ? Et pourrait tu nous envoyer les erreures generées ?
De ce que j'ai vu il y a egalement quelques definitions de variables en trop, mais ca ne devrait pas generer d'erreurs.
Je ne peux pas affirmer que ce code compile, je suis sous Windows donc...
|
|
lundi 21 février 2011 à 11:26:35 |
Re : Executer des commandes Hayes (AT) en language C

S1rK
|
Hello! un grand merci de prendre la peine de me répondre =)
Effectivement en postant, je me suis aperçu de mes erreurs :D (notamment le fait que j'étais en dehors de ma fonction main() >.<
Sinon je n'ai plus fait de C depuis une bonne année (et surtout jamais sous Linux!) donc j'apprends, tout doucement mais surement. Je compile avec l'IDE Anjuta (relativement proche de Visual Studio, et facile a prendre en main) ou via le terminal.
Lors de l'exécution de mon programme (avec les erreurs corrigées) la communication était bonne, par contre je recevais un nombre de byte de -1 (hu? oO)
Je viens d'exécuter ton programme ci-dessus, et là j'obtiens le résultat suivant:
Port 1 has been sucessfully opened and 3 is the file description
Bytes sent are 6 (auparavant je recevais -1)
Conclusion? :p (et encore merci ^^)
|
|
jeudi 24 février 2011 à 11:28:33 |
Re : Executer des commandes Hayes (AT) en language C

S1rK
|
Bon, la conclusion c'est faite d'elle même ça va :D
Un grand merci a tous, j'ai bien avancé dans mon programme grâce a vous.
Tchao!
|
|
Cette discussion est classée dans : executer, at, commandes, language, hayes
Répondre à ce message
Sujets en rapport avec ce message
commandes AT [ par croll ]
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
executer une commande systeme [ par anthraxx ]
bonjour,je voulais savoir si quelqu'un connait un moyen d'éxecuter des commandes su systemes d'exploitation sous Windows, et d'en récupérer l'output.I
"Executer en tant que" en CPP [ par Lord_Did ]
Hello tout le monde... J'execute des lignes de commandes windows avec "system()" (avec Dev-cpp) Ca marche bien, seulement, j'aimerais lancer ces lign
SAUVEGARDER les commandes PROMPT ? [ par cdesroch ]
Salut, est-il possible de recuperer le resultat de ma commande prompt et de le sauvegarder dans un fichier txt ?Et si ca ne se fait pas en language C/
Modem + Commandes AT [ par mamounette ]
Bonjour, je souhaiterai savoir s'il était possible de récupérer le numéro de téléphone d'un appel entrant via un modem 56k en utilisant les commandes
execution des commandes sous windows [ par mesetudes ]
bonjour, svp je voudrait savoir quelle est les commandes c/c++ permettant d'executer :-l'arret et le redemarage du windo
Envoi commande AT [ par spirou91 ]
Hello, Je cherche à faire communiquer mon gsm avec mon ordi. Pour ca, j'envoi des commandes AT à mon gsm. J'ai trouvé la source suivante: http://www.
comment recevoir un mms via un hyperterminal en utilisant les commandes AT [ par anis9800 ]
est ce que je peux recevoir un MMS via un hyperterminal ??si c'est possible svp aider moi à trouver ces commandes AT
CFileFind et commandes At [ par MNEMONIC ]
Bonjour à tous.Comme le dit le sujet, j'ai un problème lorsque j'utilise le CFileFind dans un programme qui est lancé par une commande AT.Si je lance
prise d'une photo a l'aide d'une webcam en language c [ par jedi_vulture ]
Bonjour,je débute dans le monde de la programmation et je cherche a connecter une webcam a l'aide du language c.une fois la webcam connecter je désire
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|