Witam,
Podłączyłem sobie do atmegi162 odbiornik podczerwieni (TSOP1736) przez pin PD2, czyli przerwanie INT0. Inicjalizacja przerwania wygląda następująco:
A minimalistyczna obsługa przerwania wygląda tak:
No i rzecz w tym, że przerwanie cały czas się wykonuje (od kilku do kilkunastu razy na sekundę) mimo, że odbiornik nic nie odbiera. Na odbiór sygnałów chyba też reaguje, gdyż podczas nadawania zmienna command szybciej się inkrementuje (albo mi się tak tylko wydaje). O co w tym wszystkim może chodzić?
Podłączyłem sobie do atmegi162 odbiornik podczerwieni (TSOP1736) przez pin PD2, czyli przerwanie INT0. Inicjalizacja przerwania wygląda następująco:
DDRD=0;
PORTD=4;
GICR=_BV(INT0);
MCUCR=_BV(ISC01);
sei();
A minimalistyczna obsługa przerwania wygląda tak:
ISR(INT0_vect){
command++;
}
No i rzecz w tym, że przerwanie cały czas się wykonuje (od kilku do kilkunastu razy na sekundę) mimo, że odbiornik nic nie odbiera. Na odbiór sygnałów chyba też reaguje, gdyż podczas nadawania zmienna command szybciej się inkrementuje (albo mi się tak tylko wydaje). O co w tym wszystkim może chodzić?
![[atmega162][avr-gcc] Problem z przerwaniem zewnętrznym [atmega162][avr-gcc] Problem z przerwaniem zewnętrznym](https://obrazki.elektroda.pl/75_1227539307.jpg)