Bonjour,

Je n'ai aucune idée et peut etre en avez vous une.
Je recherche une idée pour :

-Envoyer une commande string sur le port série ( ca je sais faire )
-Lire une réponse string sur le port série ( ca je sais faire )
et tant que ma string de réponse ne contiens pas une certaine chaine recommencer l'envoi. Et il ne faut pas que je sorte de cette boucle tant que ma réponse ne contiens pas une certaine chaine.

si je fais un do loop while ou until ca ira beaucoup trop vite et me feezera le pc, de plus le port série ne suivra pas

peut etre avec un timer ou quelque chose comme ca ?
si je met un sleep, est ce que les interruptions le lecture du port série fonctionnerons ou seront elles aussi endormies ?

exemple de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
...
'mes opérations précédentes
Do
   SerialPort1.Write("SI" & vbCrLf)
Loop Until (stable = True)
'mes opérations suivantes
...
 
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles    SerialPort1.DataReceived
        Static inBuff
        inBuff = SerialPort1.ReadLine
        Call handleInput(inBuff)
        inBuff = ""
    End Sub
 
    Private Sub handleInput(ByVal myString)
        If Microsoft.VisualBasic.Left(myString, 3) = "S S" Then
            stable = True
            weight = CSng(Microsoft.VisualBasic.Mid(myString, 4, 11))
        ElseIf Microsoft.VisualBasic.Left(myString, 3) = "S D" Then
            stable = False
            weight = -1
        End If
    End Sub





Merci d'avance