External interrompt part MPIDE 2: setIntVector() (5 / 10 étapes)

Étape 5: SetIntPriority() : ce qui est prioritaire ?

Ce qui dans le monde est une « priorité d’interruption » et pourquoi avons-nous besoin de le mettre ?

Disons que l’ISR (Interrupt Service Routine, si vous vous souvenez de la partie 1) pour Int1 est occupé à exécuter, mais avant elle peut finir, Int2 se déclenche et essaie d’appeler c’est propre ISR (nous appellerons ISR1 et ISR2, pour plus de commodité). Que se passe-t-il ? ISR1 se met en pause tandis que ISR2 s’exécute, ou ISR2 doit-il attendre que ISR1 est fini ? La réponse dépend de la priorité de Int1 et Int2.

Disons que Int1 a une priorité de 4, et Int2 a une priorité de 5. Dans ce cas, Int2 ayant une priorité plus élevée, ISR1 obtient en pause pour que ISR2 puisse exécuter. Puis, une fois fait, ISR2 ISR1 reprend où elle s’était arrêtée.

Nous allons passer maintenant donc Int1 a une priorité de 5, et Int2 a une priorité de 4. Dans ce cas, parce que Int1 a la priorité la plus élevée, ISR2 doit attendre jusqu'à ce que ISR1 se fait exécuter avant qu’il puisse commencer.

Priorité entre les niveaux varient de 1 à 7, où 7 est le plus élevé. En fait, il y a aussi un niveau de priorité 0, mais qui est considéré comme handicapé et ne s’exécutera jamais. Dans le cas de notre programme, nous définir la priorité de Int2 à 4.

(Remarquez comment nous utilisons toujours des « _EXTERNAL_2_VECTOR » ? Ça va être important dans un peu.)

« Attends... » J’entends vous pensez (en utilisant mes compétences de lecture de l’esprit), « que se passe-t-il si deux interrompt avec la même priorité sont déclenchées? »

Bonne question ! Dans nos exemples précédents, si les deux Int1 et Int2 ont une priorité de 4, puis ISR2 sera toujours attendre ISR1 terminer l’exécution avant qu’il puisse commencer.

Mais attendez ! Il n’y a plus !

Articles Liés

External interrompt sur partie MPIDE 1: attachInterrupt()

External interrompt sur partie MPIDE 1: attachInterrupt()

Hé ! Ainsi, il a été un moment depuis que j'ai fait les roues de métal pour le tutoriel de Robots à bas prix, mais c'est parce que j'étais démêler les interruptions pour vous les gars. J'ai trouvé quelques façons de le faire, mais je vais commencer a
Système de contrôle de température à l’aide de Labview (Atmega32)

Système de contrôle de température à l’aide de Labview (Atmega32)

RÉSUMÉCet ouvrage décrit un cadre de ON/OFF, systèmes de contrôle de température proportionnelle et linéaire. La conception et la mise en œuvre de ce processus se fait à l'aide de LABVIEW, logiciel virtual workbench. Le projet comprend l'acquisition
Arduino barcode scanner CueCat

Arduino barcode scanner CueCat

j'ai eu un scanner de code à barres cuecat assis depuis plus de 10 ans. Fondamentalement, il se connecte à un port PS/2 (apparemment il y a une version USB) comme un clavier et crache sur un code-barres lors de l'analyse. Nice!. L'ennui, c'est qu'il
Lunettes HDR : de cyborg soudure casques à Wearable Computing dans la vie quotidienne

Lunettes HDR : de cyborg soudure casques à Wearable Computing dans la vie quotidienne

Ce Instructable n'est pas une leçon sur la façon d'utiliser les logiciels existants de HDR (High Dynamic Range). Il vous donne plutôt un DIY (bricolage) approche à l'écriture de votre propre logiciel HDR, et créer vos propres systèmes qui peut potent
Système de surveillance pression pneus réparation/faux-out

Système de surveillance pression pneus réparation/faux-out

la surveillance de la pression de pneu est obligatoire sur toutes les voitures neuves. Ces systèmes sont fragiles et coûteux à réparer. Après que la tige de pneu a rompu sur mon Toyota Tundra j'ai cherché sur internet pour une solution économique...
Dissection de homard

Dissection de homard

Hourra pour les homards ! Bogues de mer géant ! Ceci est fait pour les professeurs de biologie dans une pincée ou aspirants anatomistes juste sortir de leur coquille. Homard n'est pas seulement un très prisé des fruits de mer, mais ils sont une famil
LittleBits Grappler : le bras robotique de l’espace

LittleBits Grappler : le bras robotique de l’espace

Un grappin est à l'extrémité du bras du Robot de l'ISS et sert à accrocher à des objets dans l'espace – comme les astronautes ! Nous avons créé une réplique de travail à l'aide d'un tube acrylique, une lampe de bureau et les modules de la littleBits
Self-contained 16 digits - Arduino & Attiny85

Self-contained 16 digits - Arduino & Attiny85

Ever wanted un afficheur 7 segments pour autour de la maison ? Voici votre chance de faire un !Il peut même être interactif basé sur la programmation.Pièces :(7,60$) 16 chiffres TM1640 basée affichageDealExtreme.com ref : 104311http://www.DealExtreme
Double emploi Origami détenteur

Double emploi Origami détenteur

De l'avant, il est titulaire d'une carte. Tourner autour et écrire votre nom sur le rabat arrière qui détient cette pièce vers le haut et vous a également obtenu une plaque signalétique ! Comment pratique !Étape 1: matérielUtilisez un morceau de papi
Boîtier cd maison

Boîtier cd maison

ce boîtier de cd faits maison est juste à l'audience, coz ive a obtenu aucun matériaux disponibles, alors j'ai utilisé juste des trucs de la maison.Étape 1: matériaux 1. cas de cd individuels en plastique. (vous pouvez les acheter à la douzaine)2. ru
Antirebonds interruptions avec MPIDE partie 1: la Force Brute

Antirebonds interruptions avec MPIDE partie 1: la Force Brute

Il est temps n'est-il pas ?Bienvenue! Si vous avez suivi mon I'bles jusqu'à ce point, je vous ai montré deux manières de mettre en place les interruptions dans MPIDE en utilisant attachInterrupt() et setIntVector(). Dans le premier de ces tutoriels,
Antirebonds interruptions avec MPIDE partie 2: filtres RC

Antirebonds interruptions avec MPIDE partie 2: filtres RC

Hé les gars ! Êtes-vous prêt pour la deuxième partie de ma série antirebonds ?« Mais Jay!" Je t'entends demander, « Je ne savais pas il y avait une première! » Ou peut-être que vous avez dit "attends, debouncing ? Ce qui est qui?" Je ne sui
Création A partie profil d’une Image externe

Création A partie profil d’une Image externe

alors qu'il travaillait sur une réception cadre et panneau pour un hall d'immeuble d'habitation, je suis tombé sur un problème. Le dessin architectural appelé pour plusieurs moulures différentes. J'ai pensé que ce serait facile. J'ai vérifié les site
Compétences rapides #3: 5 nœuds simples pour la survie partie 3

Compétences rapides #3: 5 nœuds simples pour la survie partie 3

Salut Merci beaucoup pour la grande réception des deux premières parties de cette série dans les deux dernières semaines. Pour finir cette mini série, j'ai compilé un autre cinq nœuds simples que vous pourriez trouver utile dans une situation de surv