Skocz do zawartości

[C] deklaracja zmiennej w przerwaniu


TomekT

Pomocna odpowiedź

Witam,
czytając książkę "Język C dla mikrokontrolerów AVR" natknąłem się na stronie 313 na przykład migania diodami led w przerwaniu od timera. Bardzo proszę o wytłumaczenie mi dlaczego w przerwaniu definiowana jest na początku zmienna LED, z tego co rozpisałem sobie na kartce wynika że stan portu b nigdy sie nie zmieni...(chyba ze definicja bylaby poza przerwaniem z atrybutem volatile) a takto przy każdym wejściu w przerwanie zostaje od nowa zapisana wartością 0b010

ISR(TIMER1_OVF_vect)
{
static uint8_t LED=0b010;
LED^=0b110;
uint8t_ tmp=PORTB & 0b11111001;
PORTB=(tmp | LED);
}
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.