Цитата(Pyku_He_oTTyda @ Jun 26 2007, 02:26)

Счас кусок вырежу, выложу
Код
//********************************************************************************
******
ISR(SIG_INTERRUPT0)
{
INT0_DISABLE;
GIFR |= _BV(INTF0); //очистка флага прерывания
if(lanc_count==0)
{
for(bit_count=0; bit_count<8; bit_count++)
{
if(bit_is_set(sub_command,bit_count))
{
LANC_OUT_1;
}
else
{
LANC_OUT_0;
}
}
}
INT0_ENABLE;
}
Хе, так после того, как произошла очистка флага, ему никто не помешает снова установится, и естественно, так как в конце сервиса прерывание снова разрешается, мы, если имело место событие от внешнего прерывания, снова попадем в обработчик

Кстати, я вообще не вижу смысла в начале обработчика запрещать, а в конце разрешать прерывания - в его теле оно и так не возникнет, Вы же не устанавливаете I в его теле
ИМХО в теле обработчика надо запрещать прерывания, и не разрешать их. А разрешать их в другом потоке, допустим, в главном цикле