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
Partager