Étape 12 : Code de boucle
Le code de la boucle, c’est un peu bizarre alors permettez-moi de le décomposer pour vous. Il commence par une instruction if qui vérifie la variable drapeau, que nous avons mis dans notre code d’interruption. Si l’interruption a été exécutée, alors nous courons le code à l’intérieur de la boucle.
La première chose que le fait de notre code, ensuite, se trouve la première LED haute. Si l’interruption n’a pas été exécutée récemment, nous avons mis cet LED faible (que vous pouvez voir vers le bas au fond à côté de l’instruction else. Cela nous permet d’avoir une idée de la rapidité de notre fréquence d’interruption est vraiment.
Les trois blocs de code défini nos autres LEDs hautes ou basses en fonction hors leurs bits respectifs. Au lieu de donner à chaque LED sa propre variable, ils sont chacun liés à un peu à l’intérieur de notre variable count. Cela agit comme son propre genre de post-mesureur, ralentir notre interruption, donc on peut le voir plus clairement. 2 LED clignote la moitié aussi vite que notre interruption LED (LED 1). 3 LED clignote la moitié aussi vite que voyant 2 et 4 LED clignote la moitié aussi vite que LED 4.
De plus, nous pouvons augmenter le décalage de bits pour ralentir encore plus de nos LEDs. Je vais vous montrer comment faire cela dans la prochaine étape.
Le dernier arrêt dans notre code est tout simplement pour définir l’indicateur de l’interrompre au plus bas. De cette façon, la prochaine fois que notre code effectue une boucle, il n’est pas ré-exécuter le code jusqu'à ce que l’interruption a été exécutée à nouveau.