Pb d'acquisition port série

Signaler
Messages postés
1
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
26 octobre 2007
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Pour faire l'acquisition de données d'un lecteur de carte connecté au port série vers un fichier excel, j'ai trouvé cette page http://cherbe.free.fr/rs232.html dont le code fonctionne.

Le probleme est qu'il n'effectue que l'acquisistion d'au plus 6 caracteres sur une chaine de 20
 Merci d'avance

Ashen59

1 réponse

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Tu es sous Excel, donc c'est du VBA (catégorie de ta question modifiée)

La source dont tu parles date du 30 Vendémiaire 210 (*), ce n'est pas d'hier !

Si j'ai bien compris, la source utilise MSComm32.
Ce composant émet un évènement "OnComm" lorsqu'il se passe quelque chose sur le port.
Cet évènement peut simplement être la réception de données (**), mais en réalité, cela signifie qu'il y a quelque chose dans le buffer de réception. "Quelque chose" : pas forcément tout.
Il te faudra donc peut-être attendre 1, 2 ou 10 déclenchements successifs pour acquiérir toutes les données.
Il te suffit donc de les stocker jusqu'à ce que tu décides qu'elles sont complètes.
Quand sont-elles complètes ?
Tout dépend de ce qui transite sur ce port.
Si tu utilises des protocoles genre ModBus, cela peut-être un CheckSum ou un bit de fin.
Si c'est du texte pur, il faut que l'émetteur ait prévu de t'envoyer un signe (un texte de fin ou simplement un caractère particulier comme un retour chariot Chr$(13)) quand les données sont complètement transmises ...
Ce sera a toi de détecter cette fin pour ensuite analyser les données reçues.

(*) Sep/Oct 2001
(**) Signal d'arrêt genre XOn/XOff, Détection de porteuse, Erreurs, CTS, DSR, Sonnerie ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)