Så här ser min kod ut:
Kod: Markera allt
#include <avr/io.h>
#include <util/delay.h>
#include <avr/iom88.h>
#include <avr/eeprom.h>
#include <avr/interrupt.h>
#define F_CPU 4915200 // 4 Mhz
#define sBit(byte,bit) (byte |= 1<<bit)
#define cBit(byte,bit) (byte &= ~(1<<bit))
#define tBit(byte,bit) (byte & (1<<bit))
void init(void)
{
DDRB = 0b00111111; //Sätter dioderna som ut
PORTD = 0b00000100; //INT0
EICRA = (0<<ISC01) | (0<<ISC00);
EIMSK |= (1<<INT0);
}
int main ()
{
init();
sei();
while(1)
{}
ISR (INT0_vect)
{
sBit(PORTB,3);
_delay_ms(200);
cBit(PORTB,3);
reti();
}
}