Witam, z góry dzięki za pomoc otóż borykam się z następującym problemem
muszę napisać program na atmegę 16 który korzystał będzie z 2 przerwań zewnętrznych INT0 oraz INT1
Wiem że nie wolno wyświetlać nic na LCD raczej w procedurach obsługi przerwań gdyż przedłużają one działanie tych procedur a mają one być jak najkrótsze ale zrobiłem tak celowo dla testu. Problem jest następujący, jak uruchomie oba przerwania program po podpięciu masy do pinu portu d 2 (INT0) nie wchodzi do procedury obsługi przerwania 0, natomiast przerwanie 1 obsługuje prawidłowo. Jeśli wykomentowałem linie: GICR = _BV(INT1); //włączenie przerwania INT1
to program prawidłowo mi obsługiwał przerwanie 0 ale obu naraz nie. Nie mogę wysłać całego programu niestety, gdyż jest on zwyczajnie zbyt długi.
muszę napisać program na atmegę 16 który korzystał będzie z 2 przerwań zewnętrznych INT0 oraz INT1
Kod: text
Wiem że nie wolno wyświetlać nic na LCD raczej w procedurach obsługi przerwań gdyż przedłużają one działanie tych procedur a mają one być jak najkrótsze ale zrobiłem tak celowo dla testu. Problem jest następujący, jak uruchomie oba przerwania program po podpięciu masy do pinu portu d 2 (INT0) nie wchodzi do procedury obsługi przerwania 0, natomiast przerwanie 1 obsługuje prawidłowo. Jeśli wykomentowałem linie: GICR = _BV(INT1); //włączenie przerwania INT1
to program prawidłowo mi obsługiwał przerwanie 0 ale obu naraz nie. Nie mogę wysłać całego programu niestety, gdyż jest on zwyczajnie zbyt długi.