NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
11 avril 2007 à 17:13
MegaMIND243
Messages postés23Date d'inscriptionvendredi 6 avril 2012StatutMembreDernière intervention24 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.
MegaMIND243
Messages postés23Date d'inscriptionvendredi 6 avril 2012StatutMembreDernière intervention24 juillet 2012 24 juil. 2012 à 15:34
est ce que sa marche sur un modem usb?
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és2Date d'inscriptionjeudi 22 juin 2006StatutMembreDerniè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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 5 nov. 2009 à 09:47
@Tommas! :
Pourriez-vous être plus explicite sur l'erreur soulevé lors de votre appui sur déconnexion ?
cs_tommasi
Messages postés2Date d'inscriptionjeudi 22 juin 2006StatutMembreDerniè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és16Date d'inscriptionmercredi 24 décembre 2008StatutMembreDernière intervention23 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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és16Date d'inscriptionlundi 30 octobre 2006StatutMembreDernière intervention10 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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és16Date d'inscriptionlundi 30 octobre 2006StatutMembreDernière intervention10 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és7Date d'inscriptionlundi 23 février 2009StatutMembreDernière intervention30 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és14Date d'inscriptionjeudi 17 janvier 2008StatutMembreDerniè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és27Date d'inscriptionjeudi 14 août 2003StatutMembreDernière intervention28 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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és62Date d'inscriptionsamedi 23 juin 2007StatutMembreDernière intervention21 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és15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 25 juin 2007 à 14:44
Probable.
cs_nicho
Messages postés3Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention25 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és62Date d'inscriptionsamedi 23 juin 2007StatutMembreDernière intervention21 novembre 2015 25 juin 2007 à 11:03
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és15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 25 juin 2007 à 09:02
Quelles erreurs ?
zn415
Messages postés62Date d'inscriptionsamedi 23 juin 2007StatutMembreDernière intervention21 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és15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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és7Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention13 juin 2007 5 juin 2007 à 13:48
Juste celui present sur la page pourquoi??
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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és7Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention13 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és3Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention25 juin 2007 25 mai 2007 à 11:00
ok j'ai remplacé
SerialPort.GetPortNames()
par
IO.Ports.SerialPort.GetPortNames()
merci.
cs_nicho
Messages postés3Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention25 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és15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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 ?
24 juil. 2012 à 15:34
5 nov. 2009 à 14:29
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 !
5 nov. 2009 à 10:41
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
5 nov. 2009 à 09:47
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 ?
4 nov. 2009 à 18:28
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
27 oct. 2009 à 16:15
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
22 juin 2009 à 16:48
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.
22 juin 2009 à 15:14
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!
22 juin 2009 à 14:22
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 :)
22 juin 2009 à 11:22
Merci pour tout! A bientot!
23 mars 2009 à 15:45
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.
4 mai 2008 à 23:29
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 ...
6 juil. 2007 à 13:47
27 juin 2007 à 13:19
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.
25 juin 2007 à 15:33
25 juin 2007 à 14:44
25 juin 2007 à 14:42
25 juin 2007 à 11:03
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)
25 juin 2007 à 09:02
24 juin 2007 à 15:56
J'ai plusieurs erreurs, d'ou viens le problème?
Qui a testé ce prog? Avec quelle version de vb?
5 juin 2007 à 13:49
5 juin 2007 à 13:48
5 juin 2007 à 12:57
Tu as exécuter le code contenu dans le zip ou uniquement le code mis à disponible sur la page ?
5 juin 2007 à 12:36
Que dois-je faire ???
25 mai 2007 à 11:00
SerialPort.GetPortNames()
par
IO.Ports.SerialPort.GetPortNames()
merci.
25 mai 2007 à 10:49
aurai tu la fonction GetPortNames
j'ai l'erreur
'GetPortNames' is not a member of 'SerialPort'.
13 avril 2007 à 13:09
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.
11 avril 2007 à 17:44
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.
11 avril 2007 à 17:13
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 ?