IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Comment envoyer un octet sur un port RS232


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 1
    Par défaut Comment envoyer un octet sur un port RS232
    Bonjour. Je suis complétement débutant. Je suis plus à l'aise en assembleur avec les microcontroleurs.
    Justement, je dois établir un dialogue entre PC (VB 2008 express) et un microcontroleur. J'ai défini un port serie : la réception de données sur le PC, ça va. Je récupére bien des Bytes. Mais j'essaye d'envoyer un octet vers le microcontroleur avec le programme de test suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim TRANS As Byte
    TRANS= 126
    Nom_du_Port.write(TRANS)
    Et là, il m'envoie 3 octets (les codes ascii des 3 chiffres). 3 octets à la fois, c'est trop pour le microcontroleur. Je voudrais juste qu"il envoie l'octet B'01111110'

    J'ai cherché dans la propriété encoding sans rien trouver.
    Je suppose que la solution est triviale ; mais je ne la trouve pas.

    Merci.

    J_DEL

  2. #2
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    Je viens de regarder un peu, et tu n'emploies pas la bonne surcharge de ta méthode Write.
    En effet comme consultable ici i existe trois surcharges (ou versions pour faire simple) de cette méthode.
    Elles sont différenciées par leur signature, c'est à dire le nombre et/ou le type des paramètres.

    Par conséquent la méthode que tu appelles est en fait celle-ci Write(String) qui est possible dans la mesure, où il y a conversion implicite de ton Byte en String et déclenche donc la conversion des chiffres de ta valeur en code ascii.

    Je te suggère donc de te tourner vers cette version de la méthode Write(Byte(), Int32, Int32) (attention le premier paramètre est un tableau de Byte) exemple de ce que pourrais donné le tien:
    Code VB.Net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim buffer() as Byte() = {126}
    Dim offset As Integer = 0 'A toi de trouver quoi mettre ici
    Dim count As Integer = 0 'Idem
    nomPort.Write(tab, offset, count)
    Voici un lien vers la documentation car je ne peux pas trop te dire quoi mettre pour les autres paramètres, n'utilisant pas souvent les ports série, même si cet exemple ressemble beaucoup à de l'écriture sur flux de fichier.

    En espérant toutefois avoir été utile, cordialement !

    P.S. Pense à te servir de la balise CODE quand tu rédiges, cela rendra ton texte plus lisible, surtout si tu as de longs exemples par la suite

Discussions similaires

  1. question sur le port RS232
    Par Z20500 dans le forum Hardware
    Réponses: 5
    Dernier message: 19/07/2009, 09h47
  2. Réponses: 11
    Dernier message: 06/04/2006, 13h30
  3. Acquisition de données sur un port RS232
    Par Techbio dans le forum C
    Réponses: 13
    Dernier message: 30/01/2006, 15h21
  4. [USB]envoyer une trame sur le port USB
    Par ced38100 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/11/2005, 12h54
  5. lire les données sur un port RS232
    Par xave dans le forum Langage
    Réponses: 6
    Dernier message: 06/10/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo