Stap 16: Uitleggen van de Code
#include < avr/io.h > verklaart de juiste Input/Output-definities. Bijvoorbeeld, met inbegrip van deze headerbestand stelt ons in staat om te gebruiken "DDRD" poort D als uitgang instellen.
#include < util/delay.h > verklaart de basisfuncties van de drukke-wait. Daardoor kunnen we de functie _delay_ms() gebruiken om te maken van een vertraging in milliseconden. Het argument van de functie bepaalt het aantal milliseconden dat wij willen wachten.
Ziet u een puntkomma (;) na elke coderegel. De puntkomma vertelt het programma dat dit het einde van de opdracht. De reden moet u dit is omdat wanneer het programma het leest, het meerdere lijnen uit niet zien wanneer je op "Enter" of de "Ruimte". In plaats daarvan ziet het het allemaal als een continue, massieve regel code, dus het moet de puntkomma tot het weten wanneer te beginnen met het interpreteren van een andere opdracht.
"while(1)" is een eenvoudige manier om een lus te maken. De "terwijl" opdracht herhaald alles binnen de "{}" onmiddellijk na het zolang de bewering in de "()" klopt. Omdat het is ingesteld op "1", met geen reële variabelen of math, zal de verklaring altijd gelden.
De uitdrukking "PORTD = 0b000000100;" vertaalt "Port D, nummer 2", hetgeen overeenkomt met pin 4 van onze microcontroller zoals te zien in de afbeelding hierboven inschakelen.
Elke bit nummer vertegenwoordigt een pin in een haven. Zoals u kunt zien Port D heeft 8 pinnen: D0-D7. Dus zeggen "PORTD 0b00000100 =" is echt dit "PORTD = 0bD7D6D5D4D3D2D1D0." Plaatsen in een één van de pinnen van de port rijdt de pin hoog, terwijl de pin laag plaatsen een nul rijdt.