Bonjour à tous ! Je développe actuellement une application en C++ (avec wxWidgets), sous wx-devcpp. Mon programme doit lire en continu des données qui proviennent du port série (via wxSerialPort). Cette action s'effectue après un clic sur un bouton. On rentre donc dans une fonction, et à ce moment-là, il y a une boucle du genre :
La principale condition d'arrêt de la lecture sur le port (qui n'est pas là) est temporelle (après n minutes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 char* receivedBytes ; while (1) { int rd = serial->ReadUntilEOS(&receivedBytes,"\n",100) ; if (rd > 0) { ... } }
Le problème, c'est que cela empêche d'autres actions / événements (clic sur un bouton, redimentionnement de la fenêtre, etc...) -c'est tout à fait normal d'ailleurs-. Ma question est donc : comment pourrais-je faire pour permettre à l'utilisateur de se ballader dans les menus (entre autre) tout en continuant à lire les données sur le port série? Je suppose qu'il faudrait que je change de technique (j'ai déjà pensé à ecrire une classe qui hériterait de wxSerialPort et qui enverrait des événements quand des données sont lues, mais le problème serait finalement le même non?)
Merci d'avance pour votre aide![]()
Partager