Utilisation d'un while(...) dans l'attente de réception sur port série

Signaler
Messages postés
40
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
5 novembre 2012
-
Messages postés
40
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
5 novembre 2012
-
Bonjour,

J'ai une appli en C# qui échange des données avec un processeur via liaison série. Ayant beaucoup de données à transférer, j'envoi un premier paquet d'infos et j'attends une réponse avant d'envoyer la suite.
J'ai donc dans ma fonction d'envoi quelquechose du genre :
while(TrameReponseAck == 0);

et dans l'interruption qui gère le port série, TrameReponseAck passe à 1 quand j'ai reçu.

Tout se passe bien quand je fais le test en debug, par contre lorsque j'installe l'appli et que je l'execute, je reste bloqué sur le while.....

Avez-vous une idée pour éviter ce problème, idée, conseil?

D'avance merci

2 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
Salut

Mets ton while dans un thread séparé, que tu peux arrêter depuis ton thread principal.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
40
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
5 novembre 2012
5
Euh je ne vois pas trop comment faire, car mon scheduler pour l'émission est dans une même fonction et séquentiel? il faudrait en sortir?