krabbe63
Messages postés2Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention21 mai 2007
-
9 mai 2007 à 18:06
krabbe63
Messages postés2Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention21 mai 2007
-
21 mai 2007 à 11:46
Bonjour tout le monde,
Alors je vous préviens d'avance, je suis étudiant en méca et assez ... léger en info !
Donc j'ai un problème pour récupérer le code Ascii d'une chaîne de caractère. A la base je reçois d'une balance une chaîne de caractère avec un 1er bit de démarrage, 8 bits de donnée et enfin 1 bit d'arrêt. Par exemple : 101100010
Donc j'utilise la fonction Mid pour récupérer les 8 bits de données puis la fonction Asc pour converter mes 8 bits du binaire au code Ascii. Le problème c'est que je n'obtiens que 48 ou 49 suivant que ma chaîne commence par un 0 ou un 1 (d'ailleurs c'est bien expliqué dans l'aide de VB2005). Je ne sais donc pas quelle fonction utiliser. Je vous met ici la trame de ce que j'ai utilisé, n'hésitez pas à corriger !
Dim k As String, mot As String, code_asc As String
k = "1011001101" / ca c'est la trame que je reçois de la balance
mot = Mid(k, 2, 8)
RichTextBox1.Text = mot & vbCrLf
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 9 mai 2007 à 18:32
Effectivement il te manque quelques bases en communication série.
Le format de trame que tu indique est le format utiliser entre le PC et la balance.
Toi au niveau du code, ce que tu vas recevoir c'est uniquement les 8 bits de données mais sous la forme d'un seul caractère (8Bits = 1 caractère).
En réalité, tu vas recevoir une série de caractères constituant la chaine de caractère. Normalement, tu devrais lire la chaine "en clair" à la reception, niveau code tu ne dois pas avaoir je pense de conversion à faire.
Eventuellement, montre nous le code qui te sert à recevoir les données.
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #