Witam!
Robię transmisje na podczerwieni i mam problem z przerwaniem zewnętrznym .
Chce z pomocą przerwań odbierać dane, ale narzazie mam tylko prosty program reagujący na jakąkolwiek zmianę na INT0 , INT1 , program oczywiście nie działa.
Proszę o pomoc, oto kod :
Zmianę stanu na INT0 ,INT1 wywołuje przez zwarcie rezystorem do 5v , albo podłączenie czujnika IR
Robię transmisje na podczerwieni i mam problem z przerwaniem zewnętrznym .
Chce z pomocą przerwań odbierać dane, ale narzazie mam tylko prosty program reagujący na jakąkolwiek zmianę na INT0 , INT1 , program oczywiście nie działa.
Proszę o pomoc, oto kod :
int main()
{
DDRA = 0x11111111;
//mam diody na dwóch najstarszych bitach palące się gdy jest stan niski
PORTA= 0x11111111;//gaszę diody
DDRD = 0x11111111;//na tym porcie mamy INT0 INT1
PORTD =0x00000000;
GICR=GICR|0b11000000;//uruchomienei int0 i int1
MCUCR=(MCUCR|0b00000101)&0b11110101;//wywołanie obsługi przerwania przy każdej zmianie stanu
sei();//właczenie przerwań
while(1);
}
SIGNAL(SIG_INTERRUPT0)
{
PORTA=PORTA&0b00111111;//zapalanie led
}
SIGNAL(SIG_INTERRUPT1)
{
PORTA=PORTA&0b00111111;//zapalanie led
}
Zmianę stanu na INT0 ,INT1 wywołuje przez zwarcie rezystorem do 5v , albo podłączenie czujnika IR