Étape 8: Sens des déclarations Lifeline One
Figure 9: Photos de l’écran de l’oscilloscope. Gauche : Une forme d’onde dissymétrique du Pin 12 lorsque vous utilisez un seul PORTB = 0 x 01 énoncé dans le programme de ligne de vie. À droite : Une forme d’onde symétrique en utilisant les trois PORTB = 0 x 01 déclarations. Les échelles horizontales diffèrent entre la gauche et à droite par un facteur de cinq ans ; Cependant, Pin 12 consacre la même durée à l’état zéro pour les côtés droit et gauche.
Les instructions de programmation ont les significations suivantes [7-13]. Des discussions élargies se trouvent dans un Blinky et deux (démarrage, 3, 4). Remarque que les trois déclarations de PORTB = 0 x 01 ont été utilisés, comparée à la situation unique du PORTB = 0 x 00 afin que la broche #12 sur le ATTiny2313A (package DIP) de passer autant de temps à Vcc comme il le fait à ensemble 0 volt (c.-à-d., cycle d’utilisation de 50 % pour produire une onde carrée) – Voir la Figure 9 pour un exemple. La figure montre que la fréquence est d’environ 1,5 MHz. Les déclarations supplémentaires du PORTB = 0 x 01 ne touchent pas n’importe quoi mais ajouter le retard.
#include < avr/io.h > : inclut le fichier d’en-tête io.h qui comprend d’autres fichiers .h pour le MCU spécifique [14]. Ces autres fichiers .h définissent des mots clés tels que DDRB, PORTB, PB0, TIMSK et TCNT0. Pas vu avec le 'aller ├á la mise en oeuvre".
DDRB = 0b00000001 : ensembles PortB épingles à toutes les fonctions comme entrées à l’exception de B0 qui est une sortie pour le MCU.
while(1) : en permanence exécute les instructions contenues dans les accolades {} suivant puisque 1, qui est un autre nom pour 'true', n’est toujours vrai.
PORTB = 0 x 01 : définit le bit de sortie B0 1 qui se transforme le circuit MCU Vcc sur la broche #12 (pour le paquet DIP de la ATTiny2313A). Le voyant s’allume. N’oubliez pas que cette commande définit aussi B1-B7 à zéro ce qui peut affecter les résistances de pull-up ou des broches physiques selon les bits DDRB – dans ce cas, il désactive les résistances de pull-up puisque zéro est écrite sur une entrée.
PORTB = 0 x 00 : définit tous les bits à B à zéro. La LED s’éteint. N’oubliez pas que cette commande définit aussi B1-B7 à zéro ce qui peut affecter les résistances de pull-up ou des broches physiques selon les bits DDRB.