Étape 6: AttachInterrupt()
C’est la fonction principale derrière ce code d’interruption. Mise en place d’interruptions et en les utilisant correctement peuvent être très complexes, mais cette petite fonction accomplit l’essentiel de ce à vous. Nous allons tirer apart que c’est entrées alors vous comprendrez comment l’utiliser.
La page chipKIT documenter attachInterrupt(), étiquettes entrées c' est comme "interrompre", "fonctions" et "mode".
« Interruption » désigne le nombre de l’interruption externe que vous souhaitez utiliser. Le DP32, uC32 et WF32 ont quatre interruptions externes que vous pouvez choisir parmi, numérotées de 1 à 4 sur la DP32 et entre 0 et 3 sur l’uC32 et WF32. Plus tard, je vais vous montrer comment trouver quelles interruptions sont connectées à ce que broches sur votre planche, mais pour l’instant, vous avez juste besoin de connaître leur nombre.
« Fonction » désigne le nom de la fonction que vous voulez être votre ISR. Lorsque votre interruption est déclenchée, votre microcontrôleur exécutera le code dans l’ISR pour cette interruption et puis revenir à la boucle principale où elle s’était arrêtée. Dans notre exemple, nous avons appelé notre rapport de recherche internationale « LEDchange ».
Enfin, « mode » se rapporte à ce qui est également connu sous le nom « polarité de bord ». Fondamentalement, vous dites l’interruption soit déclencher lorsque la tension passe de haute tension (habituellement 3,3 volts) à basse tension (généralement au sol) ou de basse tension à haute tension. Actuellement, notre interruption est définie sur « FALLING », autrement connu comme un front descendant. Autrement dit, qu'il se déclenche quand la tension descend du haut au plus bas. Si vous vouliez à déclencher lorsque la tension est passé de faible à élevé, vous utiliseriez « RISING ». Vous pouvez également utiliser « Changement » si vous voulez juste l’interruption pour déclencher chaque fois qu’il y a un changement de tension, soit aller de haut en bas ou faible à élevé.
Polarité de bord peut être un peu déroutante, alors essayez de changer ce code et de voir comment le comportement de votre interruption change.