UTILISATION DU PORT COM VS2005

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 11 avril 2007 à 17:13
MegaMIND243 Messages postés 23 Date d'inscription vendredi 6 avril 2012 Statut Membre Dernière intervention 24 juillet 2012 - 24 juil. 2012 à 15:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42181-utilisation-du-port-com-vs2005

MegaMIND243 Messages postés 23 Date d'inscription vendredi 6 avril 2012 Statut Membre Dernière intervention 24 juillet 2012
24 juil. 2012 à 15:34
est ce que sa marche sur un modem usb?
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
5 nov. 2009 à 14:29
Personnellement, j'ai rencontré un problème similaire dans une autre application lors de la connexion.
L'application avait un protocole de type XonXoff d'activé et si l'on essaie de connecter le port COM alors que rien n'est connecté, le programme se bloque.

Essai de voir sans connecter ta carte si l'application se connecte et se déconnecte normalement. Si c'est le cas, essai de voir du côté de readTimeOut et de WriteTimeOut ou bien d'effacer les buffer de réception ou d'écriture.

Je ne pourrais t'en dire plus :(

Bonne prog !
cs_tommasi Messages postés 2 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 5 novembre 2009
5 nov. 2009 à 10:41
Bonjour,
Merci de votre réponse. Pour être plus précis, j'ai réalisé un capteur à base d'un DSPIC33F. Le DSPIC envoie les données sur le port série de manière continue, c'est à dire toutes les 12,5ms. Le réglage du port COM coté DSPIC est des lus simple (baudrate:115200, nombre de bits: 8, parité:None, Bit d'arrêt:1, Contrôleur de flux: Aucun).
J'ai utilisé l'application dans l'environnement VS2008 et pas en exécutable (il y a peut être une incidence). Le problème que je rencontre lorsque j'appuie sur le bouton déconnecter, c'est que je n'ai plus la main sur l'application, c'est à dire que je ne peux rien faire avec les contrôles, le bouton ne change pas non plus de nom. J'ai l'impression que le programme plante lorsque l'on demande de fermer le port COM. La seule manière que j'ai d'arrêter le programme c'est d'utiliser le bouton arrêt du déboggeur.
J'espère que ces renseignements seront utile à trouver une explication.
Cordialement
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
5 nov. 2009 à 09:47
@Lemabs :
Avez-vous vérifié la configuration du port COM (vitesse, nombre de bit, bit de stop...). Si votre carte attend un handshake ou bien un signal RTS ou DTR, cet exemple ne le traite pas, mais tout ceci est supporté par l'objet serialport (http://msdn.microsoft.com/fr-fr/library/system.io.ports.serialport_members%28VS.80%29.aspx)

@Tommas! :
Pourriez-vous être plus explicite sur l'erreur soulevé lors de votre appui sur déconnexion ?
cs_tommasi Messages postés 2 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 5 novembre 2009
4 nov. 2009 à 18:28
Bonjour,

Merci pour ce code, je l'ai testé avec un appareil de ma fabrication envoyant de manière répété des données sur le port COM. Les données sont très bien récupérées mais le soft plante lorsque je désire déconnecter en appuyant sur le bouton "déconnexion" . La seule façon pour qu'il ne plante pas c'est de retirer le câble préalablement.
Y'a t'il une explication simple?

Cordialement
lemabs Messages postés 16 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 23 décembre 2009
27 oct. 2009 à 16:15
slt tt le monde, g exécuter cet exemple
g une carte connectée au pc via RS232
mais je récupere aucune chose ds richtextBOX
je pense que je dois y avoir quelque chose???
mercii
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
22 juin 2009 à 16:48
effectivement dans mon exemple j'estimais que le port était déjà ouvert. Pour ce faire, je te laisse te rapporter à la source de cette page.

Si lors de la connexion du port, tu reçois un message d'erreur te disant que le port est déjà ouvert, c'est qu'une autre application l'utilise. Il te faut donc trouver laquelle et la déconnecter du port.
Avec l'objet serialport du framework, il n'est pas possible de se connecter 2 fois au même port série.
Rou25 Messages postés 16 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 10 juin 2009
22 juin 2009 à 15:14
Salut, un énorme merci pour ta réponse,

je l'ai essayé mais j'ai une erreur qui s'affiche lors de la mise en route. l'erreur est sur le port.write(tab,0,tab.length). j'ai un message comme quoi le port est fermé. et si je met open.port()

j'ai un message d'erreur me disant que le port est deja ouvert.

Tu pourrai m'aider stp. Merci!
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
22 juin 2009 à 14:22
bonjour,
Lorsque tu utilises la fonction write de serialport, cela envoi les données automatiquement sur le Tx relié au pc et donc sur le Rx relié au module avec un câble croisé.
Dans ton cas de bluetooth, je pense que c'est la même chose et qu'il n'y a pas de manip spéciale a faire.

La solution que je pourrais te donner serais d'envoyer un tableau de byte de longueur n à travers la fonction write.

ex:

Dim port as New serialport
Dim tab(200) as byte

port.write(tab,0,tab.length)

Suivant la vitesse configurer au niveau du port, cela prendra plus ou moins de temps pour transmettre les 200 octets.

Bonne prog :)
Rou25 Messages postés 16 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 10 juin 2009
22 juin 2009 à 11:22
Bonjour, merci beaucoup pour ton code, je travail actuellement sur mon projet de stage qui consiste a piloter un module bluetooth a distance. Effectivement il n'y a pas beaucoup d'aides sur ce site concernant les liaisons port série. Voila ma question est: comment faire pour envoyer un 0 sur le RX de mon module via RS 232 pendant un temps assez long? En fait, en faisant ca, je fais un reset de mon module mais j'arrive pas a le faire.

Merci pour tout! A bientot!
tgoubbaa Messages postés 7 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 30 mars 2012
23 mars 2009 à 15:45
salut tout le monde
merci pour c code, je vois qu'il est interessant pour mon projet fin d'étude,
En fait je veux developper une solution fax avec vb.net à l'aide de commandes AT
j'utilisé la classe SerialPort de .net pour interroger le modem, sa marche très bien et le modem répend correctement,j'ai tous les commande AT pour la mode fax,
mon problème c'est comment passer un bit au modem pour l'envoyer sur la ligne téléphonique (je dois envoyer un fichier TIFF comme fax), est je dois 2crire mes données sur la mémoire temp du port sériri à l'aide de méthode Write ou il ya un registre spécifique du modem dont lequel je dois envoyer mes donnés??
merci d'avance.
Solenoyde Messages postés 14 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 4 février 2008
4 mai 2008 à 23:29
Bah moi je l'ai testouillé ...
J'ai un potar connecté a un PIC 16F*** ...je ressort par mon MAX232 pour la com en RS232 avec mon PC ... j'ai fais un mini acquision en VB pour tracer une courbe ... ca marche impecable (enfin aprés quelque petites modif pour l'adapter) ... Merci encore pour ce bout de code ...
cs_nape Messages postés 27 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 28 août 2007
6 juil. 2007 à 13:47
Moi je voudrais utiliser mon portable com modem GSM pour envoyer des sms sur portable. Puis-je trouver dans ce post une ouverture pour la réalisation de mon pojet?
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
27 juin 2007 à 13:19
MAJ du code.

Testé avec un soft qui envoit des données sur le port COM3 et ce programme qui récupère sur le port COM4.

Ne travaillant qu'avec des protocoles propriétaires, je ne pense pas pouvoir vous aider pour l'échange de données avec des modems.
zn415 Messages postés 62 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 21 novembre 2015
25 juin 2007 à 15:33
J'ai rien specifié de special a ce sujet dans l'hyperterminal, pourquoi se serait different ici?
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 juin 2007 à 14:44
Probable.
cs_nicho Messages postés 3 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 25 juin 2007
25 juin 2007 à 14:42
il faut peut être positionner le RTS/CTS et DTR/DSR pour que le modem réponde !!
zn415 Messages postés 62 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 21 novembre 2015
25 juin 2007 à 11:03
J'ai laissé un message sur cette page http://www.vbfrance.com/infomsg_RS232-VB-2005-NET_969519.aspx

Je teste actuellement avec un modem j'envoi des commandes at du genre at&v pour lire la configuration mais ça n'affiche rien alors que sa fonctionne avec l'hyperterminal.

liste des commandes sur cette page http://fr.wikipedia.org/wiki/Modem
j'ai ajoute un textbox et un boutton avec le code suivant dans le bouton:

PortRS232.Write(TextBox1.Text)
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 juin 2007 à 09:02
Quelles erreurs ?
zn415 Messages postés 62 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 21 novembre 2015
24 juin 2007 à 15:56
bonjour, impossible de lancer le programme, j'utilise visual basic 2005 express .

J'ai plusieurs erreurs, d'ou viens le problème?

Qui a testé ce prog? Avec quelle version de vb?
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 juin 2007 à 13:49
Normal, télécharge le zip et execute, tu verra qu'il y a un controle de type SetialPort (ou un truc du genre) qui porte le nom PortsRS232.
BenJ2Tours Messages postés 7 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 13 juin 2007
5 juin 2007 à 13:48
Juste celui present sur la page pourquoi??
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 juin 2007 à 12:57
Bonjour,

Tu as exécuter le code contenu dans le zip ou uniquement le code mis à disponible sur la page ?
BenJ2Tours Messages postés 7 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 13 juin 2007
5 juin 2007 à 12:36
Salut j'ai exploiter ton code mais il ne me reconnait pas "PortsRS232".

Que dois-je faire ???
cs_nicho Messages postés 3 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 25 juin 2007
25 mai 2007 à 11:00
ok j'ai remplacé
SerialPort.GetPortNames()
par
IO.Ports.SerialPort.GetPortNames()
merci.
cs_nicho Messages postés 3 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 25 juin 2007
25 mai 2007 à 10:49
bonjour,

aurai tu la fonction GetPortNames

j'ai l'erreur
'GetPortNames' is not a member of 'SerialPort'.
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
13 avril 2007 à 13:09
Bonjour,

Je garde le projet en stock, il peux toujours servir. (pas encore testé).

Le code a l'air propre et commenté.

Remarques bonus :
évite le noms par défauts (Button1, Form4) donne des noms plus explicites.
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
11 avril 2007 à 17:44
MAJ et ajout du projet entier.

Pour ma part j'ai 2 ports com sur mon ordi que je relie avec un cable RS232 acheté en supermarché.
Il suffit ensuite d'avoir un logiciel permettant d'écrire sur le port COM.
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
11 avril 2007 à 17:13
Bonjour,

Peux-tu mettre ta solution (projet) (ne serais-ce que pour un exemple d'utilisation, ce sera nettement plus pratique)?

Il faut connecter 2 ordis entre eux avec un câble Null-modem ?
Rejoignez-nous