Jeffrey Cross
Jeffrey Cross

Comment: Arduino Interrupts

Dans une esquisse Arduino de base, si vous souhaitez agir en fonction du statut d’une broche d’entrée numérique, vous devez vérifier l’état de cette broche jusqu’à ce qu’une condition particulière soit remplie. Cependant, à mesure que vos croquis deviennent de plus en plus complexes, vous constaterez que ce n’est pas toujours la meilleure façon de le faire. EngBlaze a posté une paire de guides sur l'utilisation des interruptions afin que vous puissiez exécuter du code de manière asynchrone dans une esquisse Arduino. Voici l'analogie qu'ils utilisent pour illustrer la différence:

Imaginez que vous êtes assis sur votre canapé, en train de savourer une bière glacée et de regarder un film après une longue journée. La vie est belle. Il n’ya qu’un problème: vous attendez l’arrivée d’un colis extrêmement important et vous en avez besoin le plus rapidement possible. Si vous étiez un programme AVR normal ou un sketch Arduino, vous deviez arrêter votre film de façon répétée, vous lever et aller vérifier la boîte aux lettres toutes les 5 minutes pour vous assurer que vous saviez quand le paquet y était.

Au lieu de cela, imaginez si le colis a été envoyé à Fedex ou à UPS avec confirmation de livraison. Maintenant, le livreur se présentera à votre porte et sonnera à la porte dès son arrivée. C’est votre déclencheur d’interruption. Une fois que vous avez obtenu le déclencheur, vous pouvez mettre en pause votre film et vous occuper du package. C’est votre routine de service d’interruption. Dès que vous avez terminé, vous pouvez reprendre le film là où vous l'avez laissé, sans perte de temps supplémentaire. C’est le pouvoir des interruptions.

Le premier guide traite de l’utilisation des interruptions matérielles, telles que les commutateurs, et le second traite des interruptions de la minuterie, de sorte que vous n’ayez pas à vérifier de manière répétée si un certain temps s’est écoulé lors de l’exécution de code sur un intervalle particulier. Les guides sont complets avec des exemples de code pour vous aider à démarrer votre propre projet Arduino basé sur des interruptions. [via Reddit]

Part

Laisser Un Commentaire