Witam!
Chcę się przesiąść z Bascoma na C. Podstawy przerobiłem, teraz wziąłem się za przerwania. Najpierw chcę obsłużyć INT0, jednak za nic w świecie mi to nie wychodzi. Nóżkę INT0 (PIND2) mam podłączoną przez przycisk do masy.
Czy możecie mi powiedzieć co jest źle w tym kodzie (fusy są odpowiednio skonfigurowane dla 8mhz)?
Z góry dziękuję za pomoc
Chcę się przesiąść z Bascoma na C. Podstawy przerobiłem, teraz wziąłem się za przerwania. Najpierw chcę obsłużyć INT0, jednak za nic w świecie mi to nie wychodzi. Nóżkę INT0 (PIND2) mam podłączoną przez przycisk do masy.
Czy możecie mi powiedzieć co jest źle w tym kodzie (fusy są odpowiednio skonfigurowane dla 8mhz)?
#include <avr/io.h>
#define F_CPU 8000000UL
#include <avr/interrupt.h>
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT))
#define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT))
//
SIGNAL(SIG_INTERRUPT0)
{
SETBIT(PORTB, 0);
};
int main(void)
{
DDRB=0xFF;
CLEARBIT(MCUCR,ISC00);
SETBIT(MCUCR,ISC01);
GICR=(1<<INT0) ;
sei();
while(1)
return 0;
}
Z góry dziękuję za pomoc