Charactère NULL VB.NET

Résolu
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 - 29 mai 2009 à 16:52
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 - 29 mai 2009 à 17:44
Bonjour,


Je dois envoyer une trame MODBUS à un appreil via une RS232. Dans cette trame il y a le charactère 00 en hexa, qui correspond au charactère NULL (Saut de ligne).

Quand je construit ma trame, je convertis mes valeurs hexa en décimal or quand j'arrive à chr(00) VB ne continue pas à ajouter les charactères qui viennent à la suite il arrête la constuction de la trame.

Exemple : Trame: 01 03 28 23 00 02 4F 87, je me retrouve avec 01 03 28 23 mais pas la suite.

Comment faire pour que je puisses intégrer le charactère NULL à ma trame (et la fin de ma trame) et l'envoyer ?

Merci pour toute l'aide que vous pourrez m'apporter.

@+
LIM
A voir également:

2 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
29 mai 2009 à 17:33
Bonjour,

Es-tu sur que la trame est incomplete ?

Si tu regarde via l'IDE de vb, en placent des points d'arret ou encore dans un TextBox ou un label, tu t'appercevera que le Chr(0), tronque les chaînes de texte au niveau de ceci, cela vient d'un problème d'affichage (ceux-ci ne gèrent pas ce type de caractère, ou ils doivent provoquer un retour à la ligne..?).

Par contre si tu utilise pour vérifier ta trame la fonction "Len", tu t'appercevera que ta chaine est au complet !

Dim Count As Integer

Count = Len(Trame) 'Met un point d'arret et vérifi si la taille de la trame correspond

@+ Mayzz
3
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
29 mai 2009 à 17:44
Bonjour,

   Effectivement avec un point d'arrêt on ne voit pas tout, merci pour l'astuce je n'y avais pas pensé.

@+
LIM
0
Rejoignez-nous