Guest
Thu Mar 01, 2007 9:27 pm
Witam wszystkich.
Przekopałem już wszystkie możliwe ksiązki i net i nic nie znalazłem
więc szukam ratunku tutaj.
Bardzo prosze o pomoc w uruchomieniu przerwania INT2 w ATMega 8535.
Nie mam pojęcia co robię źle, ponieważ już uruchomiłem INT0, INT1 (w
tym zakresie wszystko hula jak trza) i wydaje mi się, że wszystko co
miałem zrobić to zrobiłem. Co jeszcze mam ustawić, żeby opadające
zbocze na PB2 uruchomiło przerwanie i program skoczył do procedury
obsługi INT2.
Kompilator AVR GCC.
Zrobiłem tak:
DDRB=0;
PORTB=0b11111111;
MCUCR|=0b00001111;
MCUCSR&=0b10111111;
GICR|=0b11100000;
sei();
SIGNAL(SIG_INTERRUPT2)
{
....
}
Czego brakuje. Z góry dziękuję za pomoc.
ThomasN
Guest
Thu Mar 01, 2007 10:17 pm
Quote:
Zrobiłem tak:
DDRB=0;
PORTB=0b11111111;
MCUCR|=0b00001111;
W tym miejscu ustawiłeś przerwania INT0 i INT1 żeby reagowały na zbocza
narastające
Quote:
MCUCSR&=0b10111111;
Tu wyłączyłeś przerwanie INT2. Powinieneś napisać MCUCSE |= 0b01000000;
Quote:
GICR|=0b11100000;
Tu włączyłeś wszystkie 3 przerwania zewnętrzne
Quote:
sei();
SIGNAL(SIG_INTERRUPT2)
{
...
}
>Czego brakuje. Z góry dziękuję za pomoc.