Bonsoir,
J'essaie d'établir un code qui me permettrait de recevoir des données sur le port série. Mais le débogage bloque sur SerialPort1.ReadLine() quand le port reçoit des données.
Deuxièment quand je teste l'émission de données en écrivant sur le port1 (avec SerialPort1.WriteLine()), la réception ne marche pas (quand je récupère avec ReadLine())
J'ai deux questions : est-ce qu'il est possible d'envoyer et de récupérer les données sur un même port (d'un ordinateur) ?
Comment faire pour lire les données envoyées sur un port série ?
J'ai essayé plusieurs façons : avec serialPort, avec Mscomm, de nouveau avec serialPort...
Y a-t-il quelque chose qu'il faut rajouter ? (ou supprimer ?)
Voici une version avec serialPort...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'vérifier sur le port com est ouvert
Try
SerialPort1.Open()
Catch ex As Exception
MessageBox.Show("Impossible d'ouvrir le port ")
End Try
End Sub
'quand le port 1 recoit des données
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
'si des données sont reçues dans le buffer d'entrée
If SerialPort1.BytesToRead > 0 Then
Do
myRxData(SerialPort1.ReadByte)
If SerialPort1.BytesToRead = 0 Then
Exit Do
End If
Loop
End If
End Sub
Private Sub myRxData(ByVal mydata As Integer)
Dim ascChar As String
CheckForIllegalCrossThreadCalls = False
'format des données du port 1
ascChar = CChar(ChrW(mydata))
TextBox1.Text &= ascChar
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'données écrites sur le port 1
SerialPort1.Write(TextBox2.Text & vbCrLf)
End Sub
Merci de votre aide !Configuration: Windows Vista
Internet Explorer 7.0

