MSComm et Hexadécimal

djrodder Messages postés 5 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 18 mars 2006 - 17 mars 2006 à 19:16
djrodder Messages postés 5 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 18 mars 2006 - 18 mars 2006 à 22:59
J'aimerais savoir si on peut envoyer part le port serie avec MSComm un autre format que ASCII. Mon prob. est que je veut échanger de l'information avec un automate programmable et je dois parler en Hex mais mon code Hex que je connait et que j'envoie est convertit en ASCII lorsque je l'envoie vers le port série.Je comprend pourquoi mais peut-on changer le format de sortie?

Merci de m'aider si vous avez la réponse.

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 mars 2006 à 20:35
Le code hexa est codé en ascii ?????? bizarre. Peux-tu expliquer plus amplement ton problème, et éventuellement mettre ton bout de code qui pose problème, car MSComm ne fait aucune convertion, il se contente d'envoyer ce que tu lui transmet. S'il y a convertion, c'est toi qui la fait avant d'envoyer.

Tu as juste une option binary ou text à la lecture des données. Le mode binary te renvoi les données brutes, le mode text interprete les fin de lignes. Dans ton cas c'est probablemnt le mode binary qu'il te faut.


0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
18 mars 2006 à 00:49
salut je reprend ce que dis casy c'est toi qui doit faire la convertion .. Sans avoir la prétention d'expliquer la voie Serie ce que tu mets en envoi est converti en serie de caracteres ... si par exemple tu veux envoyer "TOTO" tu fais : Serie.output = "TOTO"
MSCOMM envoi "T" puis "O" puis "T" puis "O"

a noter que tu dois convertir ce que tu envoies en chaine de caractere.

donc si par exemple tu veux envoyer a ton automate 0x06 / 0x00 / 0x12 il faut que tu fasses :

serie.output = chr(val("&h06")) & chr(val("&h00")) & chr(val("&h12"))

Je pense que ca repond a ta question ....

Bonne continuation

MisterMok
0
djrodder Messages postés 5 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 18 mars 2006
18 mars 2006 à 22:59
Je vais essayer si ça fonctione.

Merci
0
Rejoignez-nous