Witam.
Zaczynam przygodę z mikrokontrolerami i napotkałem pewien problem który nie wiem z czego wynika.
W dokumentacji wyczytałem, że wartość początkowa rejestru RORTB wynosi 0.
Napisałem krótki kod, żeby przyswoić sobie jak to wszytko działa:
int main(void)
{ DDRB = 0xFF;
DDRA = 0b00000000;
while (1)
{ if(bit_is_set(PINA, PA1)) PORTB =0b00000001;
else PORTB =0b00000010;
}
Po wgraniu okazuje się że diody cały czas się żarzą. Nie wiem skąd problem wynika. Czy to po prostu musi tak być, że stan na PINB musi być zawsze jasno określony? Zamierzałem po prostu przez przyciski podawać stan wysoki, a przyjmować że domyślnie jest niski.
Może coś robię źle ?
Zaczynam przygodę z mikrokontrolerami i napotkałem pewien problem który nie wiem z czego wynika.
W dokumentacji wyczytałem, że wartość początkowa rejestru RORTB wynosi 0.
Napisałem krótki kod, żeby przyswoić sobie jak to wszytko działa:
int main(void)
{ DDRB = 0xFF;
DDRA = 0b00000000;
while (1)
{ if(bit_is_set(PINA, PA1)) PORTB =0b00000001;
else PORTB =0b00000010;
}
Po wgraniu okazuje się że diody cały czas się żarzą. Nie wiem skąd problem wynika. Czy to po prostu musi tak być, że stan na PINB musi być zawsze jasno określony? Zamierzałem po prostu przez przyciski podawać stan wysoki, a przyjmować że domyślnie jest niski.
Może coś robię źle ?