Atmel start 4: Blinky två-växlar, Pull-Up motstånd och Bit Ops (7 / 11 steg)
Steg 7: Blinky två-Setup och kod
Blinky två visar användningen av DDR för indata och användningen av pull-up motstånd. Den använder avsiktligt en komplicerad input-output arrangemang för en enda fysisk port för att illustrera begrepp för DDR och pull-up motstånd.
Kolla steg 6 ovan.
Kontrollera att formuläret Atmel Lifeline.cpp visas i IDE och att någon att skriva/redigering kommer att föras in till formuläret (Välj fliken nära toppen eller klicka på filnamnet i lösningar Explorer på höger sida).
Ange följande påståenden att vara mycket försiktig med bokstäver, parenteser, hängslen och semikolon. Ja, ändra det Blinky ett programmet som behövs.
#include
#define F_CPU 8000000UL
#include
int main(void)
{
DDRB = 0b00000001; eller 0x01; Ställer in B0 som utgång och resten som indata
PORTB = 0b00000010; Anger Pull-UP på B1 och uppsättningar B0 = 0
uint8_t Mask = 0b00000010; Mask för att testa när pin B1 dras låg
uint8_t MaskL = 0b00000001; Masken använder styra LED
uint8_t Test = 1; Testa resultatet av när pin B1 är låg = 0 eller hög = 1
While(1)
{
Test = PINB & Mask;
IF(test == 0) //Runs När omkopplaren aktiveras, W2 = jord
{
_delay_ms(1000);
PORTB | = MaskL; Lyser LED; Ingen effekt på Pull-Up R
_delay_ms(1000);
PORTB & = ~ MaskL; Släcker LED; Ingen effekt på Pull-Up R
}
}
}
4. gå vidare och sammanställa Blinky två och läsa in den i MCU som beskrivs i Autostart #3, steg 5. I korthet: Tryck F5 eller klicka på den lilla triangeln på verktygsfältet för med nedrullningsbara rutan för Debug (inte en med de två vertikala linjerna). Om det finns fel eller varningar, sedan rätta till dem och försök igen.
5. vid denna punkt, LED bör inte vara blinkar.