Stap 7: BLINKIE twee-Setup en Code
Blinky twee demonstreert het gebruik van de DDR voor input en het gebruik van de pull-up weerstanden. Het opzettelijk een ingewikkelde regeling van de input-output voor één fysieke poort gebruikt ter illustratie van de concepten voor de DDR en pull-up weerstanden.
Controleer in stap 6 hierboven.
Controleer of de Atmel Lifeline.cpp-formulier wordt weergegeven in de IDE en dat alle typen/bewerken zal worden ingevoerd op het formulier (Selecteer het tabblad in de buurt van de bovenkant of klik op de naam van het bestand in de Verkenner oplossingen aan de rechterkant).
Voer de volgende instructies wordt heel voorzichtig van de kapitalisatie, tussen haakjes, accolades en puntkomma's. Ja, het Blinky een programma naar wens aanpassen.
#include
#define F_CPU 8000000UL
#include
int main(void)
{
DDRB = 0b00000001; of 0x01; Hiermee stelt u B0 als uitgang en de rest als input
PORTB = 0b00000010; Pull-UP ingesteld op B1 en Sets B0 = 0
uint8_t masker = 0b00000010; Masker om te testen wanneer pin B1 is getrokken lage
uint8_t MaskL = 0b00000001; Masker gebruik controle LED
uint8_t Test = 1; Testresultaten van wanneer pin B1 laag is = 0 of hoog = 1
while(1)
{
Test = PINB & masker;
if(test == 0) //Runs als schakelaar geactiveerd, W2 = aarde
{
_delay_ms(1000);
PORTB | = MaskL; Verlicht LED; Geen effect op de Pull-Up R
_delay_ms(1000);
PORTB & = ~ MaskL; Blust LED; Geen effect op de Pull-Up R
}
}
}
4. Ga je gang en Blinky twee compileren en laden in het MCU zoals beschreven in Startup #3, stap 5. In het kort: druk op F5 of klikt u op het driehoekje op de werkbalk met de drop-down box voor Debug (niet de ene met de twee verticale balken). Als er fouten of waarschuwingen, dan moet u deze corrigeren en probeer het opnieuw.
5. op dit punt, de LED niet moet knipperen.