Ich verstehe das nicht mein Code funktioniert nicht. Es soll ein Codeschloss werden. Hier ist die simple Form, die auch nicht funktioniert:

Code:
#include <io.h>
typedef unsigned char  BYTE;
typedef unsigned int   WORD;
WORD i,f;
BYTE d=0,s1=0,s2=0;
int main (void)
{
DDRB =0x1f;
DDRD=0x00;
PORTD = 0x01;
sbi(TCCR1B,2);//counter
for (;;)
{
cbi(PORTB,3);
cbi(PORTB,4);
   if (d==1)
     {
      sbi (PORTB, 2);
        f=inw(TCNT1) - 1;
         do
        {
        i=inw(TCNT1);
        }while(i!=f);
                cbi(PORTB,2);
        s1=0;
        s2=0;
       d=0;
     }
if (bit_is_clear(PIND, PIND2))//wenn Taste gedrückt
{
sbi (PORTB, 4);
s1=s1 +1;
if(s2==25)
d=1;
}
if (bit_is_clear (PIND,PIND3))
{
sbi (PORTB, 3);
if((s1 > 2) && (s1 < 6)) //hier liegt der Fehler, wieso geht das nicht?
s2=25;
}
}
}