Bonjour à tous !
Je débute en programmation et j'aimerai faire un code propre et fiable.
J'utilise l'objet "serialport" dans ma fonction, elle ne fonctionne mais pas tout le temps
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub bActualiser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bActualiser.Click SerialPort1.Write("u") 'envoie d'une requete sur le port While SerialPort1.BytesToRead < 0 'attente de byte dans le buffer bActualiser.Text = "attente..." End While tTrame.Text = SerialPort1.ReadLine() bActualiser.Text = "Actualiser" End Sub
Je crois avoir identifier le problème, ma boucle while "bloque" la procédure jusqu'a ce qu'il y ai au moins 1 byte dans le buffer mais déclanche parfois la lecture de la ligne avant que celle ci n'ai été transmise ... d'ou un plantage sur SerialPort1.ReadLine
J'aimerai donc trouver un "déclencheur" autre que SerialPort1.BytesToRead < 0, genre serialport1."linetoread" < 0
J'ajoute que le nombre de byte reçu est variable.
J'espere avoir été suffisament clair.
Merci d'avance.
Partager