Étape 1: Examen rapide
Juste pour revoir rapidement quel rebondissement est et pourquoi il est mauvais, n’oubliez pas que les touches ne sont pas toujours aussi propres que nous voudrions qu’ils soient. Le monde réel est trop spongieux et lent pour l’électronique, et ce bouton peut faire et défaire le contact plusieurs fois avant de devenir complètement enfoncée. Il en va de même pour libérer un bouton.
C’est ce qu’on appelle « bounce » et votre microcontrôleur fonctionne aussi vite qu’il peut déclencher le code à partir de chacun de ces rebonds avant que vous le voulez vraiment trop. Debouncing est une technique pour prendre ce signal bouton instable, précaire et changeant en un bouton unique, coupées et séchées.
Maintenant, il y a beaucoup de méthodes pour debouncing sur les touches pour le code qui fonctionne dans votre boucle principale, mais les interruptions sont un animal différent et doivent être traités avec soin. Vous ne pouvez pas debounce dans votre boucle principale ou avec une bibliothèque antirebonds normale, parce que les interruptions remplacent tout ce qui. Cela signifie que vous devez debounce dans votre interruption, mais votre code d’interruption ne fonctionne pas jusqu'à ce que votre interruption est déjà déclenchée !
Je vais vous montrer comment obtenir sur cette énigme, et vous aurez des signaux d’interruption gentil, propre avant que vous le sachiez !