Lecture port série RS232 [Résolu]

Messages postés
40
Date d'inscription
lundi 3 mars 2008
Dernière intervention
8 juillet 2008
- 3 mars 2008 à 16:41 - Dernière réponse :
Messages postés
40
Date d'inscription
lundi 3 mars 2008
Dernière intervention
8 juillet 2008
- 4 mars 2008 à 13:00
bonjour,
je suis étudiant actuelement en stage et je dois développez une application permettant de lire et d'écrire sur une memoire grace au port série.
La première étape consiste a lire les données
Voici le code :

Private Sub Command1_Click()
Dim Tampon$
MSComm1.CommPort = 1
MSComm1.Settings = "9600,o,8,1"
MSComm1.InputMode = comInputModeText
MSComm1.SThreshold = 1 ' Pour l'emission
MSComm1.PortOpen = True
MSComm1.InputLen = 0
Tampon$ = Tampon$ & MSComm1.Input
Text1.Text = Tampon
MSComm1.PortOpen = False
End Sub

Lors du click sur le bouton, un message d'erreur apparait avec l'erreur 8005 qui me dit que le port est deja ouvert.
Comment puis-je faire pour remédier à ce problème.

Merci d'avance
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
40
Date d'inscription
lundi 3 mars 2008
Dernière intervention
8 juillet 2008
- 3 mars 2008 à 22:27
3
Merci
J AI RELANCER MON PC MAI RIEN NY FAIT MEME AVEC LES BOUTON

Merci jerome57440 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de jerome57440
Messages postés
401
Date d'inscription
mercredi 19 avril 2006
Dernière intervention
6 juin 2011
- 3 mars 2008 à 17:05
0
Merci
Bonjour,


Si tu reçois un message d'erreur comme quoi ton port est déjà ouvert, c'est qu'une autre application doit déjà l'utiliser. Soit tu trouves l'application fautive et tu la ferme, soit tu choisis un autre port de ton ordinateur.


Si je ne dis pas de bétises, MSComm n'est capable d'utiliser que les 16 premiers port série et je n'ai pas trouver a ce jour une fonction qui te permet de retrouver les port comm existant sur la machine.
Donc soit tu met en dur une autre valeur que le com 1 ou bien tu fais une boucle qui test les 16 valeurs en gérant les exceptions.

Toutefois, si le langage n'est pas imposé, je te conseille de passer a vb.net qui possède l'objet serialport bien plus complet.

Bonne Prog
Commenter la réponse de lesdis
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
- 3 mars 2008 à 18:36
0
Merci
"...Si tu reçois un message d'erreur comme quoi ton port est déjà ouvert, c'est qu'une autre application doit déjà..."

Ou tout simplement cette application qui a plantée lors des essais et qui donc à laisser le port ouvert.

En général on prévoit une commande pour ouvrir le port, une pour dialoguer sur le port et une autre pour le fermer. Ne serait-ce que durant la période de débogage.
Comme ça on peut ouvrir ou fermer le port indépendamment de tout autre partie du code.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Commenter la réponse de cs_casy
Messages postés
40
Date d'inscription
lundi 3 mars 2008
Dernière intervention
8 juillet 2008
- 3 mars 2008 à 19:59
0
Merci
G TOUT ESSAYER IL n'y aps d'autre programme qui utilise les ports.
Il n'y a qu'un port serie sur le PC.Ce n'est pas pendant le debogage c'est a l'instant ou je clique sue le bouton
Je suis totalement perdu depuis ce matin je suis dessus.
Le language est imposé c'est du VB sur VB6.
Commenter la réponse de jerome57440
Messages postés
52
Date d'inscription
mercredi 12 mars 2003
Dernière intervention
2 octobre 2009
- 3 mars 2008 à 20:45
0
Merci
Salut,

Ce que veux dire Casy c'est que si tu as déja ouvert ton port com a un autre moment (en deboggage pa exemple) et que si t'as planté, ton port reste ouvert et donc inaccessible pour une autre appli.......

Pour etre sûr d'etre "propre" il te faut relancer ton PC

Cela dit moi pour faire des test je crée un bouton pour ouvrir mon port, un pour le fermer et un pour faire les transmissions...

Quand tout marchera bien tu pourra te lancer a tout faire d'un coup mais comme on dit : pour apprendre a courrir il faut d'abort savoir Marcher !

@+

FR
Commenter la réponse de FRatvks
Messages postés
40
Date d'inscription
lundi 3 mars 2008
Dernière intervention
8 juillet 2008
- 4 mars 2008 à 08:52
0
Merci
voici le code avec les different bou ton: toujours le meme probleme de port:
Private Sub Command1_Click()            'Bouton ouverutre port
MSComm1.PortOpen = True
If MSComm1.PortOpen = True Then
Command1.BackColor = &HC000&
Else
Command1.BackColor = &HFF&
End If
End Sub


Private Sub Command2_Click()            'Bouton lecture
Tampon = Tampon & MSComm1.Input: DoEvents
If Tampon <> "" Then
Text1.Text = Tampon
Command2.BackColor = &HC000&
Else
Command2.BackColor = &HFF&
End If
End Sub


Private Sub Command3_Click()            'Bouton fermeture port
MSComm1.PortOpen = False
If MSComm1.PortOpen = False Then
Command3.BackColor = &HC000&
Else
Command3.BackColor = &HFF&
End If
End Sub


Private Sub Form_Load()
Dim Tampon As String
'MSComm1.PortOpen = False
MSComm1.CommPort = 1                    'Definition des paramètres de configuration du port série
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeText
MSComm1.SThreshold = 1
MSComm1.InputLen = 0
End Sub
Commenter la réponse de jerome57440
Messages postés
401
Date d'inscription
mercredi 19 avril 2006
Dernière intervention
6 juin 2011
- 4 mars 2008 à 09:37
0
Merci
Bonjour,

Vérifie dans le gestionnaire de périphérique que ton port physique se nomme bien COM1 et que tu n'est pas de port virtuel à la place.

Bonne Prog
Commenter la réponse de lesdis
Messages postés
40
Date d'inscription
lundi 3 mars 2008
Dernière intervention
8 juillet 2008
- 4 mars 2008 à 13:00
0
Merci
c bon jai trouver le pb
c activesync qui utilisait mon port Com1
Lorsque j'efectue une lecture et que je ve l'afficher dans une textbox rien ne s'affiche pourtant des donnees arrive bien du port serie
Commenter la réponse de jerome57440

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.