Visual c++ port série

ahmed ch Messages postés 11 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 1 novembre 2008 - 26 sept. 2008 à 12:55
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 26 sept. 2008 à 15:10
ahmed
bonjour


je développe une application sur visual c++ et j'aimerais récupérer une
donnée numérique d'un capteur avec une communication série. pour la
recevoir, il faut envoyer ctr+b (stx). Quand j'utilse l'hyperterminal
et je fait ctr+b par le clavier je reçoit la donnée, mais en visual c++
j'ai pas su faire...de plus,y a t-il une clasee ou une lib de
communication série ...merci d'avance

4 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
26 sept. 2008 à 14:17
Pour la comm série regarde dans les code de ymca2003 tu trouveras ce que tu cherches.
En gros pour lire/ecrire sur un port série il faut se servir des API suivantes :
CreateFile(...)
ReadFile(...)
WriteFile(...)
CloseHandle(...)

Tu trouveras le détail de ces fonctions sur le site MSDN.

Shell
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
26 sept. 2008 à 14:23
Salut,

Pour windows, l'aide sur le sujet est ici (Avant tout la partie configuration du port, qui se fait en remplissant une structure DCB, et en l'envoyant à windows comme ça). Pour la lecture/écriture, c'est la fonction CreateFile qui est utilisée, enchainée par des ReadFile et des WriteFile, puis terminée par un Closehandle, exactement comme pour un fichier. Des solution existent en utilisant adressant directement le port, mais ne sont pas à retenir.

Pas mal d'exemples sur ce site sur le sujet, faire une recherche.

Il y a par exemple celle-ci et celle-là.

<hr />
Un ZZ
0
ahmed ch Messages postés 11 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 1 novembre 2008
26 sept. 2008 à 14:59
merci pour votre réponse , mais ce qui me géne c'est l'envoi de ctr+b sur le port série
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
26 sept. 2008 à 15:10
Salut,
ctrl+A = 1
ctrl+B = 2
...
ctrl+Z=26

En C :

char ctrlB = 2;
0
Rejoignez-nous