Envoyer des octets par le port série

[Résolu]
Signaler
Messages postés
5
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
26 avril 2005
-
Messages postés
32
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
13 janvier 2009
-
Bonjour à tous



Je souhaite envoyer des entiers par le port série, envoyer des octets parait donc meilleur qu'envoyer des chaines de caractère.



Voici ce que je fais actuellement pour envoyer des octets, en utilisant
un objet "Microsoft Communications Control", soit Mscomm32.ocx, nommé
Comm.




Comm.CommPort = port 'définit le port de la communication

Comm.Settings = baud_rate & "," & "N" & "," & "8" & "1"




Comm.PortOpen = True 'ouverture du port







et, plus loin, à l'intérieur d'un timer :




Dim Out() As Byte

Out(0) = 255

Comm.Output = Out





Et là, ca me met une erreur

Alors que quand c'est




Comm.Output = "255"





ca ne met pas d'erreur. Ca veut dire que je sais envoyer des chaines de caractères et pas des octets ?



En tout cas, si vous pouviez m'aider, ce serait vraiment sympa !!!

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
Petite erreur sur :
Comm.Settings = baud_rate & "," & "N" & "," & "8" & "1" ' manque la dernière virgule
Comm.Settings = baud_rate & ",N,8,1" ' est aussi bien

Deuxième problème :
Dim Out() As Byte
Out(0) = 255
Comm.Output = Out
Bien que Out soit déclaré, il n'est pas pour autant dimensionné.
Après le Dim, il faut aussitôt prévoir un
Redim Out(0)
Comme ça ton tableau aura une dimension.
Maintenant, envoyer des Bytes ou des codes ASCII, pas d'avantage particulier.
Tout dépend d'où proviennent tes données, et Comm.Output = "Bonjour" marche tout pareil.

Regarde dans l'aide de VB6 sur la méthode Output, tout y est expliqué

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

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
5
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
26 avril 2005

merci, ça a l'air de marcher correctement (en tout cas ça ne fait plus d'erreur)

il faudra que je voie si ça marche effectivement, mais deja, c'est bien.



merci encore ;)
Messages postés
32
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
13 janvier 2009

salut

Moi pour envoyer mes données je procède de cette maniere :


out(0)=chr(255) 'correspond à FF


mais si tu veux envoyer la valeur 255 il faudra l'ecrire sur deux octets
out(0)=chr(5)
out(1)=chr(151)

255 en hexa donne 05 97
et 05 97 en decimal 05 151

voila ca pouvait ptetre te servir par la suite
tcho