Impossible de lire des données avec SerialPort

rayrama Messages postés 1 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 6 mai 2008 - 6 mai 2008 à 13:37
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 6 mai 2008 à 14:34
 Bonjour,
je n'arrive pas à lire des données avec SerialPort sous VB Express 2008 dans une appli toute simple:
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SerialPort1.Open()
    End Sub

    Private Sub Btn_envoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_envoi.Click
        SerialPort1.Write(TextBox1.Text + vbCrLf)
    End Sub

    Private Sub Btn_lec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_lec.Click
        While SerialPort1.BytesToRead <> 0
            TextBox2.Text &= ChrW(SerialPort1.ReadChar)
        End While
    End Sub
End Class

Les données sont bien envoyées (l'appareil RS232 réagit bien) mais impossible de lire qqe chose, BytesToRead est toujours à 0!!!

Un prog similaire sous VB5 avec MsComm fonctionne très bien ...

Merci de m'aider

1 réponse

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
6 mai 2008 à 14:34
Bonjour

Ton code est un peu étrange :
        While SerialPort1.BytesToRead <> 0
            TextBox2.Text &= ChrW(SerialPort1.ReadChar)
        End While
Pourquoi ChrW ?

Pour récupérer le texte : ReadExisting
Pour lire des Octets, tu peux utiliser le flux intégré (.GetStream je pense).

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous