loloestbeau
Messages postés3Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention17 janvier 2006
-
17 janv. 2006 à 14:48
loloestbeau
Messages postés3Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention17 janvier 2006
-
17 janv. 2006 à 23:41
Bonjour
Jai un
soucis, jai un interface en RS232 qui me transmet en texte use valeur qui va
de -999.99 à + 999.99, avec VB6 et MSCOMM pas de problème , je reçois en string
caractère par caractère et je transcris en nombre.
Cette
interface et en RS232 et je lai modifié en USB en passant par un FTI232BM et
cest la que ça se gâte je reçois <0>rÀ4Àè(<0>} à la place
de 6.01 .
Les paramètres sont les mêmes 9600 ,8,n,1 sur le port
virtuel COM3 et le MSCOMM
Quelquun
pourrait il morienter ?
Il reçois bien , mais pourquoi je reçois <0>rÀ4Àè(<0>} à la place
de 6.01 ?
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 17 janv. 2006 à 15:52
Je peux pas t'aider mais comme ça, à vu de nez, je tire ces conclusions (auquelles tu as aussi du arriver!) :
<0> Balises de début/fin
r => "6"
À4À => "."
é => "0"
( => "1"
Tu ne crois pas!!!
Reste à voir ce que ça donne sur ta table ASCII !!!
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 17 janv. 2006 à 16:18
Petite correction... En fait, je pense que c'est plutôt :
r => "6"
À4 => "."
Àé => "0"
( => "1"
C'est vraie que c'est étrange comme code! Mais doit bien y avoir une logique là dessous!!!
Ou alors tu t'es planté et c'est pas ça qu'il faut regarder!!! Qui sait!
Enfin, moi, je ne peux pas dire grand chose de plus!
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 17 janv. 2006 à 17:43
Salut Lolo
Je pense qu'il faut que tu convertisses les caractères en leur équivalent ascii.
Par exemple, le carré qu'on retrouve dans ton texte peu correspondre à un grand nombre de caractères non imprimable, donc on ne pourra pas te répondre.
Sachant qu'un code ascii est défini par une valeur entre 0 et 255, soit 00 à FF en hexa.
Convertion caractère -> ascii décimal : Asc(taLettre)
Convertion caractère -> ascii hexa : Hex(Asc(taLettre))
A mon avis, il doit y avoir un entête de donnée qui reste fixe, le 6.01 devant apparaitre ensuite, suivi d'un texte de queue pour la vérifiaction en checksum.
Converti chaque lettre en décimal et en hexa on revient nous voir et/ou compare le au même flux reçu sur ton port com standard.
D'où viennent ces données ? peut-être y a t-il aussi des données d'identification de la provenance (n° d'esclave)
Vala
Jack, MVP VB
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?