Qurcze,
walczę z softem, gdzie muszę korzystać z komparatora (obsługuje go na przerwaniu) i dwóch przerwań zewnętrznych INT0 i INT1. Niestety coś tu mi nie działa i program się sam resetuje wracając do początku funkcji "main"
w symulatorze tez się krzaczy. Jak wyłączę obsługę INT0 i INT1 wszystko działa. Ale nie rozumiem dla czego. Zależy mi na tych przerwaniach.
Siedzę już drugi wieczór nad tym problemem i nie rozumiem gdzie przysłowiowy sęk.
Proszę o pomoc
walczę z softem, gdzie muszę korzystać z komparatora (obsługuje go na przerwaniu) i dwóch przerwań zewnętrznych INT0 i INT1. Niestety coś tu mi nie działa i program się sam resetuje wracając do początku funkcji "main"
int main()
{
//wlaczenie przerwan zewnetrznych INT0 i INT1
GICR |= (1<<INT0); // INT0
GICR |= (1<<INT1); // INT1
//konfiguracja komparatora
cbi(SFIOR, ACME);
cbi(ACSR, ACIS1);
cbi(ACSR, ACIS0);
cbi(ACSR, ACD);
sei();
//aktywacja przerwania od komparatora
sbi(ACSR, ACIE);
while (1) ;
}
w symulatorze tez się krzaczy. Jak wyłączę obsługę INT0 i INT1 wszystko działa. Ale nie rozumiem dla czego. Zależy mi na tych przerwaniach.
Siedzę już drugi wieczór nad tym problemem i nie rozumiem gdzie przysłowiowy sęk.
Proszę o pomoc
