volatile unsigned long latch=0;
ISR(INT0_vect)
{
if(TCCR==0)//debounce
{
TCNT0=0;
//start timer 0
TCCR0=0x02;//clkio/8
}
}
ISR(INT1_vect)
{
if(TCCR!=0)//debounce
{
//stop timer
TCCR0=0;
latch|=TCNT0;
}
}
ISR(TIMER0_OVF_vect)
{
latch+=0x100;
}
void main()
{
....
MCUCR&=0xf0;
//falling edge will trigger interrupts
MCUCR|=(1<<ISC11)|(0<<ISC10)|(1<<ISC01)|(0<<ISC00);
//enable interrupts
GICR|=(1<<INT0)|(1<<INT1);
TIMSK|=(1<<TOIE0);
....
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.