Probleme de conversion hexadecimale avec port serie en visual basic

cmoilastar Messages postés 48 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 24 mars 2005 - 23 avril 2004 à 15:07
cmoilastar Messages postés 48 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 24 mars 2005 - 27 avril 2004 à 09:15
Voila, j'ai un problem, je doit faire une interface entre un banc de mesure et un ordi, mais le banc m'envoie des données en hexadecimale.
Avec mscomm, je recois l'équivalent en caracteres ascii, et je voudrais le remettre en hexa.
Le problem c'est que "Hex(variable)" ca marche pas, il veut un nombre et pas une variable.
voila si qqn a une idée pour m'aider, il est le bienvenu...

De plus, le banc m'envoiequatres octets différents sans arret c a dire que je recois : 0x56 0x52 0x78 0x23 0x56 0x52 0x78 etc... Je voudrais aussi savoir si il y a moyen de prendre que les quatres premiers octets (les autres n'étant que de la répétition a l'infini, ils minteressent pas) ...

bon ben c tout, surtout si vous avez des idées, nésitez pas.

4 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
23 avril 2004 à 15:23
tranforme ton caractère en entier long en prenant son code ascii
Dim Var as String*1
Dim CodeAscii as  long
CodeAscii = Asc(Var)
Msgbox Hex(CodeAscii)


Et pour ne prendre que les 4 premiers caractère d'une chaine:
Left$(MaChaine,4)

Christophe R.
0
cmoilastar Messages postés 48 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 24 mars 2005
23 avril 2004 à 15:46
Ok, merci je vais essayer ca tout de suite et je te redis...
0
cs_nr Messages postés 164 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 11 juillet 2005
23 avril 2004 à 16:51
Alors finalement c'est bien du 1200 bauds ta transmission ? C'est pour ca que tes caractères étaient bizarres.

@+ et bon week à tous !!
0
cmoilastar Messages postés 48 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 24 mars 2005
27 avril 2004 à 09:15
ouaich ct bien du 1200 bauds, mais yavé 8 bits utiles, et j'en voyais que 7 mais bon, c réparé, le programme marche, g juste encore une question, ya pas qqch qui me permette de lancer un calcul a chaque fois qu'une valeur différente arrive sur la port série? un truc du genre MScomm.event ou je sais pas trop qupoi??? merci d'avance
0
Rejoignez-nous