RS232

cs_FunFun Messages postés 4 Date d'inscription jeudi 15 août 2002 Statut Membre Dernière intervention 24 septembre 2007 - 24 sept. 2007 à 10:52
nah666 Messages postés 75 Date d'inscription samedi 30 août 2003 Statut Membre Dernière intervention 7 janvier 2008 - 24 sept. 2007 à 14:16
Bonjour

J'utilise depuis 8 ans une routine d'intérrogation d'un RS232 pour des balances sous un OS 95-98. Lors de l'installation du prOgramme en 2000 ou XP, cette commande ne fonctionne plus.... Qui peut m'aider ???

J'utilise un MSCOMM

Une commande qui dit d'envoyer les infos ---> MSCOMM.OUTPUT="S" & VBCRLF

Et la commande de lecture ---> sChar = MSCOMM.INPUT   ... qui ne fonctionne plus. Même en débogage, aucune entrée !!!!!!!

Le hardware marche sans problème, c'est vraiment l'OS qui me pose problème. J''ai fait les mise à jour VB SP5 et SP6 + mise à jour des MSCOMM de Microsoft

Please HELP .....

Merci

FunFun

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
24 sept. 2007 à 11:02
Vérifie d'abords que tu comminique bien avec ta balance, que tu es sur le bon port. Fait un test avec Hyperterminal.

Il se peut que le port est changé entre 95 et 2000

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
nah666 Messages postés 75 Date d'inscription samedi 30 août 2003 Statut Membre Dernière intervention 7 janvier 2008 1
24 sept. 2007 à 11:04
Oui, le test avec Hyperteminal est tres bon pour diagnostiquer.

Jette un oeil dans la configuration des ports comm dans ton panneau de configuration, je me rappelle avoir eu des problèmes avec ca ( ca fait un bail ! )
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 sept. 2007 à 11:21
Salut,
Tu peux aussi regarder quelles sont les valeurs des propriétés InputLen  et RThreshold  de ton objet MSCOMM

En effet car MSDN Dit:

InputLen, propriété
La valeur par défaut de la propriété InputLen est 0. Si vous attribuez
la valeur 0 à la propriété InputLen, le contrôle MSComm lit la
totalité du tampon de réception lorsque la propriété Input est
utilisée.

Si le nombre de caractères indiqué par la propriété InputLen n'est pas
disponible dans le tampon de réception, la propriété Input renvoie une
chaîne de longueur nulle (""). L'utilisateur peut éventuellement vérifier la
valeur de la propriété InBufferCount pour déterminer si le nombre de
caractères requis est disponible avant d'utiliser la propriété Input.

OnComm, événementLa propriété CommEvent contient le code numérique de l'erreur ou de
l'événement qui a généré l'événement OnComm. Notez que si la valeur 0 est
attribuée aux propriétés RThreshold ou SThreshold, la récupération
des événements comEvReceive et comEvSend, respectivement, est
désactivée.

Voila j'espère que cela peu t'aider

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_FunFun Messages postés 4 Date d'inscription jeudi 15 août 2002 Statut Membre Dernière intervention 24 septembre 2007
24 sept. 2007 à 12:02
Merci

Hyperterminal OK

FunFun
0

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

Posez votre question
cs_FunFun Messages postés 4 Date d'inscription jeudi 15 août 2002 Statut Membre Dernière intervention 24 septembre 2007
24 sept. 2007 à 12:09
J'utilise dans un programme qui envoie des sms au travers d'un modem sms les commandes InputLen, ....


J'ai testé cette programmation et effectivement je reçois dans Input === "" le vide


InBufferCount == la valeur reste à 0


En faisant tourner un émulateur 98 sur la machine 2000 ... cela marche mais en full 2000 ou XP .. RIEN


J'ai essayé sur 3 machines différentes .. 2000, XP familial et XP Pro ... rien n'y fait


C'est comme si le control utilisé (standard de VB) bloquait .... dès que je passe en 2000 mais fonctionne en 98

FunFun
0
cs_FunFun Messages postés 4 Date d'inscription jeudi 15 août 2002 Statut Membre Dernière intervention 24 septembre 2007
24 sept. 2007 à 12:10
L'envoi de la commande fonctionne c'est la lecture du buffer d'entrée qui bloque

FunFun
0
nah666 Messages postés 75 Date d'inscription samedi 30 août 2003 Statut Membre Dernière intervention 7 janvier 2008 1
24 sept. 2007 à 14:16
Sur le windows pour lequel ca deconne :

Tu va dans gestionnaires de peripheriques:

Tu selectionne ton port comm puis " propriétés"

dans "parametres du port" :

Tu verifie s'il est configuré pareil que sur ton autre machine ( celle qui marche ), et surtout :
-Tu desactive le controle de flux.
-Et dans les parametres avancés tu desactive l'utilisation des tampons FIFO.
0
Rejoignez-nous