Bonjour
Je lis des données sur le port série. Parfois les données ne sont pas presentes assez tot donc je pensais rajouter un delai mais ca ne marche pas.
j'ai l'impression que ca bloque toute la thread et donc que la partie reception port serie est bloquée elle aussi: est-ce que vous pourriez me confirmer mon impression a partir d'une lecture de code ou me conseiller quelque chose?

=> envoie de la commande ici
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
                    Thread.Sleep(500);
                    if (strreceived.Length > 20)
                    {
                        // traitement ici
                    }
                    else   // re-attente
                    {
                        Thread.Sleep(2000);
                        // probleme ici: delai supplementaire ne semble rien apporter alors que 2 sec est largement suffisant pour recevoir la reponse. Il semblerait que serialPort1_DataReceived() n'est jamais appelé entre ces 2 delais alors que de nouvelles datas ont été recues ????
                    }
 
        // reception port serie
        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
             // lecture de la chaine recue
            serialPort1.Read(inputData, 0, serialbyteNb);
            strTexte = ByteToHex(inputData);
            strreceived += strTexte;
      }
Merci
Michel