volatile unsigned char state = 3;
unsigned long int time1;
volatile unsigned long int time2;
unsigned long int raznost;
void setup()
{
pinMode(2,INPUT_PULLUP);
pinMode(3,OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), blink, CHANGE);
}
void loop()
{
if(state==0)
{
time1=time2;
state=3;
}
if(state==0x04)
{
raznost= time2- time1;
state=3;
for (int i=0; i<2; i++)
{
digitalWrite(3, HIGH);
time1=micros();
while ((micros()-time1)<raznost);
digitalWrite(3, LOW);
time1=micros();
while ((micros()-time1)<raznost);
}
}
}
void blink()
{
state = PIND&0x04;
time2=micros();
}