Salut,
La temporisation ne résoudra pas le problème entre deux tests de détermination de l'action à accomplir :
Car si entre le test capteur1 et capteur2 l'état du port change, il est presque certain que le saut ne se fera pas vers la bonne action.Code:movf PORTC,W andlw b'00001100' sublw b'00001100' btfsc STATUS,Z goto action2 movf PORTC,W andlw b'00001100' sublw b'00001000' btfsc STATUS,Z goto action1
Par contre, je n'avais pas vu que le troisième test renvoyait vers le premier test si le troisième n'est pas concluant.
En principe, il vaut mieux gérer cela comme une erreur (en renvoyant sur une nouvelle tempo pour stabiliser le port par exemple) et non recommencer les tests...
La sécurité de fonctionnement demanderait de contrôler la variable "copie du port" avec la valeur réelle du port juste avant le saut (ou a l'entrée) vers "l'action" afin de se prémunir d'un changement de la valeur du port entre les trois tests.
David.
-----