Probleme port com en visual basic 2008 données ascii ou binaires! [Résolu]

aey0friw 4 Messages postés dimanche 5 décembre 2004Date d'inscription 5 novembre 2010 Dernière intervention - 3 nov. 2010 à 19:08 - Dernière réponse : aey0friw 4 Messages postés dimanche 5 décembre 2004Date d'inscription 5 novembre 2010 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

aey0friw 4 Messages postés dimanche 5 décembre 2004Date d'inscription 5 novembre 2010 Dernière intervention - 3 nov. 2010 à 21:40
0
Merci
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
Commenter la réponse de aey0friw
aey0friw 4 Messages postés dimanche 5 décembre 2004Date d'inscription 5 novembre 2010 Dernière intervention - 3 nov. 2010 à 22:02
0
Merci
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
Commenter la réponse de aey0friw
NHenry 14262 Messages postés vendredi 14 mars 2003Date d'inscription 22 septembre 2018 Dernière intervention - 3 nov. 2010 à 22:45
0
Merci
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
Commenter la réponse de NHenry
aey0friw 4 Messages postés dimanche 5 décembre 2004Date d'inscription 5 novembre 2010 Dernière intervention - 5 nov. 2010 à 21:04
0
Merci
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
Commenter la réponse de aey0friw
NHenry 14262 Messages postés vendredi 14 mars 2003Date d'inscription 22 septembre 2018 Dernière intervention - 3 nov. 2010 à 19:59
-2
Merci
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
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.