Si je supprime mon "if" ça fonctionne.
C'est pas tellement étonnant puisque STOP ne peut pas changer durant le while.
Je pense que ce problème est la conséquence d'une mauvaise analyse initiale. Ta boucle de traitement est mal conçu.
Il faudrait que tu réexamines le fonctionnement de ta machine à états pour ne plus avoir de case bloquants.