Probleme port com en visual basic 2008 données ascii ou binaires!

Résolu
aey0friw Messages postés 4 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 5 novembre 2010 - 3 nov. 2010 à 19:08
aey0friw Messages postés 4 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 5 novembre 2010 - 5 nov. 2010 à 21:04
bonjour
celà fait quelques jours que je cherche une solution à un probleme que je ne comprends pas
mon port com est paramétré dans la fenetre propriété (8bits sans parité un bit de stop), et je me contente de l'ouvrir et d'y écrire des caracteres
tout se passe bien jusqu'au caractere ascii 127, pour les valeurs au dessus, il m'envoi toujours le code ascii 63 (observation à l'oscillo)
la vitesse de transmission est sans influence, un port virtuel sur USB ou le port RS232 dispo sur mon PC équipé de XP pro donnent le même résultat.
J'utilise les instructions suivantes:
for nt=120 to 135
ok = Chr(nt)
SerialPort2.Write(ok)
next
à l'oscillo, le bit de poids fort (le 8ieme après start sur la trame)reste toujours à 0

l'instruction writeline donne le même résultat
avec visual basic 6 je n'avais pas ce problème , pouvant définir si le port fonctionne en binaire, ascii, ou ...
merci sincerement à celui qui me donnera l'explication et la solution

5 réponses

aey0friw Messages postés 4 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 5 novembre 2010
3 nov. 2010 à 21:40
bonsoir
je pense que vous avez compris mon probleme, mais qu'entendez vous par flux sous-jacent, s'il sagit d'une propriété qui n'apparait pas dans la fenetre, comment s'appelle-t-elle, et quelle valeur faut-il lui donner ?
j'ai en effet absolument besoin de transmettre toutes les valeurs.
merci beaucoup pour votre aide
0
aey0friw Messages postés 4 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 5 novembre 2010
3 nov. 2010 à 22:02
Bonsoir
excusez moi, je n'avais pas compris
après observation des raccourcis que vous m'avez conseillé, je retrouve une instruction sans doute clef pour laquelle je ne comprends pas les parametres X Y et Z :
SerialPort1.Write(X,Y,Z)
habituellement je n'utilise qu'un parametre : les données à transmettre !
merci pour vos explications
à bientôt
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
3 nov. 2010 à 22:45
Bonjour,

De rien :)
Si ta question est résolue, merci de mettre "Réponse acceptée" sur la ou les réponses qui t'ont aidées, merci :)

Mon site
0
aey0friw Messages postés 4 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 5 novembre 2010
5 nov. 2010 à 21:04
merci, le tout est de comprendre que les caracteres de textes sont maintenant codés sur 16 bits lors des échanges avec l'environnement, et que quand on veut faire transiter des données d'un octet, binaires, on ne peut plus utiliser les principe de transmission de texte. C'est bien dommage car c'était plus simple avant et depuis longtemps (VB6-5-4-Qbasic-basica!!!!!)
bien des choses changent entre VB6 et VB2008, basic se voulait etre un systeme de programmation simple !!!! quand toutes les instructions changent, je pense que si microsoft s'amusait à faire celà avec excel et word, ils n'auraient plus qu'à déposer leur bilan. c'est honteux de proposer à ses clients d'avoir tout à réapprendre tous les 5 ans (visualbasic)

encore merci, et j'ai eu l'occasion d'apprendre que l'aide directe sur le site MSDN etait beaucoup plus efficace que l'aide locale de VB2008
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
3 nov. 2010 à 19:59
Bonjour,

L'encodage utilisé est vraisemblablement ASCII7 donc tout caractères >127 est remplacé par un ?

Essaye plutôt de taper directement dans le flux sous-jacent (Voir les propriétés de l'objet) et là tu aura tout le contrôle que tu veux.

Ou change l'encodage si tu veux faire du texte.

Mon site
-2
Rejoignez-nous