Bonjour,

Voici ce que je dois réaliser dans le cadre d'un projet en C# et j'avoue ne pas être un expert en événements.

Je dois lire des données envoyées d'un apppareil sur un port série. La spécialité, c'est que l'appareil communique uniquement sur les signaux DSR et CTS (Rx et Tx ne sont même pas connectés). Lorsque DSR passe à un, je dois considérer un bit valant 0 et sur CTS un bit valant 1.
A chaque PinChanged, je concatène une string au fur et à mesure pour obtenir un code du type 01001011100110...
Voilà pour le concept.

Afin de faire ceci, j''utilise l'événement PinChanged de la classe SerialPort. Ca a l'air de fonctionner, mais si je charge le CPU (entre 80 et 100%), je commence à perdre des événements. D'ailleurs, lors du démarrage de mon appli, je n'ai jamais tous les event, il me faut relancer une deuxième fois l'appareil pour avoir tous les events. J'ai remarqué que 2 threads étaient démarrer la première fois que j'ai ces events qui apparaissent.
Je ne comprends pas bien comment sont gérés ces events dans windows et pourquoi j'ai des thread qui démarrent tout seul.

Y a-t-il un moyen pour s'assurer qu'on ne perd pas le moindre event ?

Mes events apparaissent environ toute les millisecondes.

Merci pour votre support.