Problème d'écriture sur un port série

Résolu
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008 - 9 mai 2007 à 15:46
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008 - 13 mai 2007 à 13:48
bonjour,

j'essai d'écrire un text dans un port série afin de l'intercepter dans un autre, voici la commande d'écriture sur le port:
Private Sub Command1_Click()
MSComm1.Output = Text1.Text
End Sub
quand je compile, voici le centenu de MSComm1.Output: la propriété est en lecture seule!!!

Merci d'avance les amis

8 réponses

basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
13 mai 2007 à 13:48
la solution est la suivante:
dans le module d'écriture il faut mettre cette variable à 1:

.Handshaking = 1 'RTS

Merci pour tout
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 mai 2007 à 15:58
J'ai pas tout bien compris là.

ça veut dire quoi "voici le contenu de MSComm1.Output" ?

Et "la propriété est en lecture seule", c'est quoi, un message d'erreur ???

MSComm1.Output, déjà, est en ecriture seule. Il n'y a pas moyen de relire ce que contient le buffer de sortie

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
9 mai 2007 à 16:07
En fait mon programme permet d'écrire sur le port com1 et lire ce contenu sur le port 2.
avec : MSComm1.Output = Text1.Text
rien ne se passe et quand je clique sur MSComm1.Output au lieu d'avoir le contenu du text1.text je ne vois que ceci: la propriété est en lecture seule

est ce normal de rien recevoir sur le com 2 ? est ce que cela est du au fait que le port 1 ne ressort rien ou c'est le com2 qui ne reçoit rien je ne comprends rien?

et pourtant ce programme je l'ai télécharger d'un site et qui semble fonctionner selon son auditeur.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 mai 2007 à 16:18
Le problème peux venir de beaucoup d'endroit.

Tout d'abord, question bête :
- As-tu un cable branché derriere le PC reliant le Com1 au Com2 ???
- Reliant 2 ports PC, le cable doit etre croisé, le cable que tu utilise est-il croisé ???

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
9 mai 2007 à 19:49
oui j'ai relié le COm 1 et 2 par un cable Modem NULL

croisé biensur

Merci
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 mai 2007 à 20:27
Vérifie en premier les propriétés Settings des 2 ports, la propriété HandShaking qui doit correspondre au type de protocole souhaite, les propriétés SThreshold et RThreshold si actives.

Ensuite si tu as la possibilité branche l'hyperterminal de windows sur le second port à la place de ton logiciel et regarde si lui recoit quelque chose

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
9 mai 2007 à 23:06
En effet, j'ai essayé de connecter hyperterminal pour voir s'il y a quelque chose qui passe mais rien.
et tous les paramètres que t'as dit sont activés.

je ne pige plus rien
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
10 mai 2007 à 20:30
Les propriétés SThreshold et RThreshold active signifie qu'elles ont une valeur différente de 0.
Cette valeur correspond au nombre de caractère déclenchant l'action correspondante.

Pour SThreshold, normalement l'envoie ne se fait que lorsque il y a au moins n caractères en attente d'envoi. Si par exemple tu met 5 pour cette valeur, et que tu n'écrit que 4 caractères, il est probable que l'envoi ne soit pas déclenché, il ne sera déclenché que lors de l'cériture suivante d'au moins 1 caractère (4 +1 --> 5)
Sur le même principe, si la reception est gérée par évènement, l'évènement ne sera généré que lorsque au moins n caractères auront été reçus. Donc idem si la valeur est 5, et que tu ne reçois que 4 caractères, l'évènement de reception ne sera pas déclenché.
NOTA : Cela n'empache en rien la reception par pooling (lecture cyclique du buffer de reception), les données reçues sont quand même dans le buffer, même si elles ne déclenche par d'évènement.

Mais est-ce que déjà avec 2 instances de Hyerterminal, une sur chaque port (et donc sans ton logiciel), tu arrive à communiquer entre les 2 instances ??????

Ensuite je crois tu va pouvoir mettre ton code d'emission et de reception, tu dois avoir un problème à ce niveau.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
Rejoignez-nous