#include<Arduino.h>
#include<avr/io.h>
#include<util/delay.h>
#include<avr/interrupt.h>
#define set_bit(var,bit) ((var) |= (1 << (bit)))
#define clear_bit(var,bit) ((var) &= (unsigned)~(1 << (bit)))
#define toggle_bit(var,bit) ((var) ^= (1 <<(bit)))
void setup() {
DDRA=0B11111111;
DDRE=0B00000001;
}
void Normalbetrieb (void) {
for(int i=0;i <=6;i++) {
delay(200);
PORTA=PORTA>>1;
}
for(int j=0;j <=6;j++) {
delay(200);
PORTA=PORTA<<1;
}
}
void Interrupt (void) {
toggle_bit(PORTE,0);
Normalbetrieb();
}
ISR (INT1_vect) {
cli();
Interrupt();
sei();
}
void loop() {
set_bit(PORTD,1);
set_bit(EIMSK,INT1);
clear_bit(EICRA,0);
clear_bit(EICRA,1);
sei();
Normalbetrieb();
}