Étape 6: Comment ça marche
La clé c’est très simple. À l’intérieur de notre Interrupt Service Routine (ISR), nous avons un peu si qui vérifie combien de temps elle a duré depuis l’interruption de la dernière instruction exécutée. S’il a été assez long, il permet l’interruption réexécutez ! Cela donne à notre signal suffisamment de temps à régler, avant de nous relancer l’ISR.
Ce code est simple et cela fonctionne bien, mais si vous le remarquerez, le contrôle passe à l’intérieur de la sûreté. Vraiment ce qui se passe, c’est nous interrompre notre code de la boucle principale plusieurs fois, pour vérifier et voir si il a été assez long et exécute le reste de notre rapport de recherche internationale lorsqu’il a. C’est pourquoi il s’agit de la méthode de la « force brute ».
Ce n’est pas toujours la meilleure solution, mais notre arrivée se passe tellement vite qu’il est imperceptible. Pourtant, mon prochain tutoriel étudiera une alternative à cette méthode de force brute, celle qui désactive et réactive l’interruption, au lieu de simplement vérifier encore et encore.
Vous voir la prochaine fois !