Цитата(haker_fox @ Jun 6 2006, 10:57)

Цитата(TamTam @ Jun 6 2006, 15:27)

Цитата(=AK= @ Jun 6 2006, 10:18)

Цитата(TamTam @ Jun 6 2006, 13:28)

Реситится он тогда - когда в режиме тревоги происходит чтение ключа.
Oбработки прерываний занимают огромное время - с какого-то бодуна там везде стоят огромные задержки. "Вредных советов" начитались?
А почемубы им не занимать столько сколько они занимают ??? ведь кроме этого он ничего не делает.
Ну и что, что
кроме этого они ничего не делают? В нижеприведенном фрагменте кода полная ерудна, у Вас там в общей сложности задержка на 100 мс! И в какое время должны успевать выполнять ся другие обработчики прерываний?
Код
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
char i=0;
if (PIND.3==1) i++;
delay_ms(25);
if (PIND.3==1) i++;
delay_ms(25);
if (PIND.3==1) i++;
delay_ms(25);
if (PIND.3==1) i++;
delay_ms(25);
невижу никакой связи между праблемой и задержками так как прерывания всего 2 одно из них, то из которого вы зделали выдержку отвечает за разрыв шлейфа, а другое за чтения ключа точь мемори, и одновремено они врядли когда нибудъ произойдут.
P.S. а то блин развели базар, про мусор, сам спросил сам ответил. не знаю я сам ответ на этот вопрос и не имею никакого понятия как его решить, может трабл со схемотехникой, Резюками подтянуты к плюсу обе ножки по которым происходит прерывания (4к7).