logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega162][avr-gcc] Problem z przerwaniem zewnętrznym

thenkles 24 Lis 2008 14:57 1409 7
REKLAMA
  • #1 5777377
    thenkles
    Poziom 11  
    Witam,
    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ć?
  • REKLAMA
  • #2 5777433
    Freddie Chopin
    Specjalista - Mikrokontrolery
    wykonuje sie bo lapie jakies zbocza - wszystko od strony programu jest ok. jesliby sie wykonywalo caly czas to nie byloby 'kilka - kilkanascie razy na sekunde' tylko pewnie kilkaset tysiecy razy na sekunde.

    4\/3!!
  • REKLAMA
  • #3 5777472
    thenkles
    Poziom 11  
    Jak więc można to rozwiazać? Jakiś kondensator między masą a portem może?
  • REKLAMA
  • #4 5777561
    Dr.Vee
    VIP Zasłużony dla elektroda
    Najpierw pokaż schemat.

    Pozdrawiam,
    Dr.Vee
  • #5 5777641
    thenkles
    Poziom 11  
    W zasadzie, to schematu żadnego nie ma. TSOP1736 jest zwyczajnie podłączony pod 5V ze stabilizatora, a jego wyjście idzie bezpośrednio do pinu PD2. Dodatkowo, w akcie desperacji, dodałem dodatkowy rezystor podciągający wyjście odbiornika do 5V, jednakże to nic nie zmieniło.
  • Pomocny post
    #6 5777672
    dawid512
    Poziom 32  
    Spróbuj podłączyć wg. tego:
    [atmega162][avr-gcc] Problem z przerwaniem zewnętrznym
  • REKLAMA
  • Pomocny post
    #7 5777674
    Dr.Vee
    VIP Zasłużony dla elektroda
    To poszukaj w datasheecie jaki jest rekomendowany schemat podłączenia układu. Między VCC a pin 2 układu rezystor 100 omów, między pin 2 a 1 kondensator 4,7uF.

    Pozdrawiam,
    Dr.Vee
  • #8 5777815
    thenkles
    Poziom 11  
    Rzeczywiście, problemem był nawet nie tyle ten kondensator, co rezystor w szeregu z zasilaniem. Teraz działa dobrze, dzięki :)
REKLAMA