Étape 16 : Expliquer le Code
#include < avr/io.h > déclare les définitions appropriées des entrées/sorties. Par exemple, inclure ce fichier d’en-tête nous permet d’utiliser « DDRD » pour régler le port D en tant que sortie.
#include < util/delay.h > déclare les fonctions de base occupé-wait. Cela nous permet d’utiliser la fonction _delay_ms() pour créer un délai en millisecondes. L’argument de la fonction indique le nombre de millisecondes que nous voulons attendre.
Vous pouvez remarquer un point-virgule (;) après chaque ligne de code. Le point-virgule indique au programme qu’il s’agit de la fin de la commande. Vous avez besoin c’est parce que lorsque le programme lit, il ne voit pas plusieurs lignes de lorsque vous appuyez sur « Enter » ou « Space ». Au lieu de cela, il voit tout comme une ligne continue et massive de code, donc il doit le point-virgule pour savoir quand commencer à interpréter une commande différente.
« while(1) » est un moyen simple de faire une boucle continue. La commande « alors que » tout à l’intérieur de la "{}" répète immédiatement après lui tant que l’instruction du « () » est vraie. Parce qu’elle a été définie à « 1 », avec aucune des variables réelles ou les mathématiques, l’instruction sera toujours vraie.
L’expression « PORTD = 0b000000100; "se traduit par" tourner sur Port D, numéro 2", ce qui correspond à la borne 4 de notre microcontrôleur comme on le voit dans l’image ci-dessus.
Le numéro de chaque bit représente une épingle dans un port. Comme vous pouvez voir D Port a 8 broches : D0-D7. Donc dites "PORTD = 0b00000100" n’est-ce vraiment « PORTD = 0bD7D6D5D4D3D2D1D0. » Placer une une à une des broches du port des lecteurs la goupille élevée, tout en plaçant un zéro entraîne l’axe faible.