Stap 8: Betekenis van de verklaringen van de levenslijn van een
Figuur 9: Foto's van een oscilloscoop scherm. Links: Een onsymmetrisch golfvorm van Pin 12 bij het gebruik van slechts één PORTB = 0x01-instructie in het programma van de levenslijn. Rechts: Een symmetrische golfvorm met behulp van de drie PORTB = 0x01 verklaringen. De horizontale schalen verschillen tussen de linker en rechterkant met een factor vijf; echter, Pin 12 besteedt de dezelfde lengte van tijd in de nul staat voor zowel de linker- en rechterkant.
De verklaringen van de programmering hebben de volgende betekenis [7-13]. Uitgebreide discussies zijn te vinden in Blinky One en Two (opstarten 3, 4). Opmerking dat drie verklaringen van PORTB = 0x01 zijn gebruikt in vergelijking met de enkele verklaring van PORTB = 0x00 om pin #12 op de ATTiny2313A (duik pakket) te besteden evenveel tijd op Vcc op 0volts (dat wil zeggen, 50% Taakcyclus tot een blokgolf) – zie figuur 9 voor een voorbeeld. De figuur toont dat de frequentie is ongeveer 1.5 MHz. De extra verklaringen van PORTB = 0x01 hebben geen invloed op om het even wat maar vertraging toevoegen.
#include < avr/io.h >: io.h headerbestand waarin andere .h-bestanden voor de specifieke MCU [14] bevat. Deze andere .h-bestanden definiëren trefwoorden zoals DDRB, PORTB, PB0, TIMSK en TCNT0. Niet gezien met de 'Ga naar uitvoering'.
DDRB = 0b00000001: Sets PortB pinnen aan alle functie als input met uitzondering van B0 die een output voor de MCU is.
while(1): continu voert de verklaringen opgenomen binnen de volgende accolades {} aangezien 1, dat is een andere naam voor 'true', altijd waar is.
PORTB = 0x01: de B0 uitvoer bit ingesteld op 1, die de MCU circuits naar Vcc op pin #12 (voor de duik pakket van de ATTiny2313A converteert). De LED verlicht. Houd in gedachten dat deze opdracht ook B1-B7 ingesteld op nul die kan invloed hebben op pull-up weerstanden of fysieke pinnen afhankelijk van de bits in DDRB – in dit geval, het maakt de pull-up weerstanden onbruikbaar aangezien nul is geschreven op een ingang.
PORTB = 0x00: alle van de bits in B wordt ingesteld op nul. De LED uitdooft. Houd in gedachten dat deze opdracht ook B1-B7 ingesteld op nul, die gevolgen voor pull-up weerstanden of fysieke pinnen afhankelijk van de bits in DDRB hebben kan.