 Dans ce labo, nous allons utiliser les interruptes externes et nous allons apprendre à configurer le contrôle interrupteur de l'STM32C0. Alors, nous allons commencer. Dans ce projet, nous allons configurer le GPIO qui est connecté à l'utilisateur en tant qu'interrupteur external, ce qui s'appelle EXTI, avec le trigger de résumé. Et nous allons aussi configurer le contrôle interrupteur qui s'appelle NVIC. Les interruptes externes et le contrôle interrupteur peuvent générer des interruptes et des événements, ainsi que les processeurs de stop-mode. Les événements configurables sont liés à l'interrupteur external de GPIOs, DVD et autres peripheraux. Les événements directs sont liés à RTC, Tempor et autres peripheraux, comme SQC, UART et aussi DLSC. Donc, PXY, où X est appelé A, B, C, D, etc., ce qui est le porte et qui est ici le numéro P. Donc, ce que j'ai essayé de dire ici, c'est PA0, pour exemple, ou PB0 ou PC0, sont liés à l'interrupteur interrupteur, qui est EXTI0, en ce cas. Mais en même cas, pour exemple, si tu prends, je ne sais pas, PA15, ou PB15 ou PC15, sont liés à l'interrupteur interrupteur EXTI15. Et ensuite, nous avons des groupes. Donc, par exemple, les multiples inputs EXTI sont liés à l'interrupteur interrupteur, donc, dans le C0, pour exemple, les EXTI0 et 1 sont groupés ensemble, et ensuite, les EXTI2 et 3 sont liés ensemble, etc. Donc, nous avons des groupes associés à cela. Vraiment rapidement, c'est le diagramme bloc de l'interrupteur interrupteur et l'interrupteur interrupteur. Les contrôles EXTI proviennent une détection interrupte, un masque et des triggers softwares. Les événements directs sont créés par Peripherals, soutenant des requêtes interruptes. En ce cas, l'interrupteur EXTI est utilisé pour générer des événements, pour le CPU et pour les requêtes de système. Nous allons réviser le NVIC, qui est l'interrupteur interrupteur. Donc, le NVIC, qui s'appelle Nested Vector Interrupteur, est intégré dans le Cortex-M0 Plus CPU, qui est invité dans le STM-42C0. Les principales features sont 32 interruptes sources, 4 niveaux programmables, des niveaux de l'attention, des exceptions et d'interrupteur interrupteur, Automatique Nesting, Power Management Control. C'est le temps pour la lab. Dans le STM-42 CubID, nous allons créer un nouveau projet que nous pouvons apporter, par exemple, le STM-42C0 EXTI. Ensuite, nous allons ajouter la configuration pour deux GPIOs. Un GPIO, qui est le PC-13 IO, qui est connecté à l'utilisateur, que nous configurons comme externe interrupteur, donc GPIO EXTI-13, en ce cas. Et nous allons aussi utiliser PFI, donc le IO qui est connecté à l'LED, pour apporter l'LED, chaque fois que nous pressons le bouton. Ok, donc je vais créer un nouveau projet dans le STM-42 CubID. Donc, nouveau STM-42 projet. Entrez le partenariat, comme nous l'avons fait avant. En même temps, c'est le STM-41, c6, c6. Donc, c'est celui-là, là. Ok, et ensuite, on presse le suivant. Maintenant, nous allons donner un nom au projet. C'est le STM-42, c0, EXTI, et on presse la fin. Maintenant, nous configurons nos deux IO. Nous commençons avec le PC-13, qui est connecté à l'utilisateur. Vous voulez qu'on clique sur le mou et on choisit GPIO EXTI-13. Donc, c'est la configuration pour externointerrupteur. Et nous allons aussi configurer PFI, qui est située ici, comme output GPIO, pour apporter l'LED. Ok, donc, cette IO est connectée à l'utilisateur. Et nous allons l'utiliser. Donc, chaque fois qu'on relève le bouton, nous voulons l'utiliser. Nous allons détecter comme une haute haute haute. C'est ce que nous voulons configurer maintenant. Pour regarder le mode GPIO de PC-13, nous allons entrer le système-view. Donc, vous allez cliquer sur le système-view, puis le GPIO. Clique sur PC-14 et regardez le mode GPIO. Faites surement que nous avons sélecté l'interrupteur externointerrupteur avec la haute haute. Donc, vas au système-view, ici. Clique sur GPIO. Clique sur PC-13 et nous allons regarder le mode GPIO. Faites surement que c'est l'interrupteur externointerrupteur avec la haute haute. Donc, vous avez des modes, la haute haute et la haute et la haute. En ce cas, nous voulons juste détecter une haute haute. Maintenant, nous pouvons configurer la haute haute. Donc, vous allez cliquer sur la haute haute et aller à la ligne, qui est la ligne EXTI4-15 interruptée et l'enlever. Parce que la ligne EXTI13 est partie de l'interrupteur externointerrupteur. Ok, maintenant cliquez sur Envick. Regardez la ligne EXTI4-15. Et l'enlever. Nous pouvons ensuite générer le code. Donc, on va juste sauver le projet. Nous allons générer le code. Et nous allons ajouter des codes pour le projet de template qui a été généré. Tout d'abord, nous allons ajouter un variable qui s'appelle PC13 underscore flag et qui va initialiser à 0. Nous allons également ajouter une fonction de callback. Nous allons ajouter la fonction de callback pour l'interrupteur externointerrupteur externointerrupteur externointerrupteur. Dans cette fonction, nous allons augmenter par un flag, donc le flag PC13. Et selon la valeur du flag, nous allons se déterminer ou offrir le LED. Maintenant, nous allons ajouter la fonction de callback. Donc, cliquez sur le code user4. C'est à la fin de l'enlever. Et ajoutez cette fonction. Donc, c'est une fonction de callback. Cette code peut être créée dans la section des commentaires de cette vidéo. Donc, vous pouvez copying et paste de là-bas. Ou alors que vous pouvez poser et juste ajouter quelques lines de code. Cette fonction de callback est appelée par ISR, donc un handler. Donc, c'est dans cet STM42C0XX underscore IT.C. C'est à la fin. Allez au handler de l'ISR de la line EXTI4215. Et c'est la fonction de callback. Dans cette fonction de callback, nous allons avoir un callback à la fin. Maintenant, construis le projet. Faites surement que votre bord est connecté, votre bord nucléaire. Et maintenant, vous pouvez entrer le mode debug. Donc cliquez sur cet icône, le petit icône debug. C'est à dire que vous pouvez switch perspective. Donc, vous entrez le mode debug. Maintenant, vous pouvez exécuter votre code. Et tout le temps vous presserez sur le bouton utilisateur. Donc, c'est le bouton bleu sur votre bord nucléaire. DLED est allé sur le toggle. Donc, le code fonctionne comme prévu. Et nous sommes terminés avec ce lab. Donc, nous pouvons arrêter l'exécution. Vous pouvez ouvrir votre projet.