Цитата(andk @ Jun 6 2006, 12:12)

Вам абсолютно правильно сказали по поводу задержек в обработчиках
прерываний - скорее всего там и проблема.
Если я правильно разглядел исходник, вы не конфигурируете WDT (оставляете по значение умолчанию), а оно соответствует ~16мс.
То есть, попадая в прерывание с задержками более чем 16мс собака гарантировано кусает.
Поэтому в прерываниях нужно делать только абсолютно необходимые действия. (В Вашем случае - установить флаг о том, что прерывание было. Все.)
А обработку событий перенести в основной цикл.
И не забывать о периоде WDT. Если процедура длинная (по времени естес-но) вставить код сброса WDT.
Сейчас в тупую можете поставить сбросы WDT в обаботчик прерывания, скорее всего поможет.
Последовал советам делаю следующие
в цикле где сравниваеться каждый байт ключа ставлю сброс собаки, и еще на всякий случай решил проинициализировать собаку
Код
WDTCR=0x00;
и все повторилось в новь.
блин ну в чемже дело ???
Мужики ну не злитесь вы на меня просто вроде все готово но есть маленький трабл, вот и нервничаю.
и так подведу краткий итог
1. в AT90S2313 фузов НЕТ
2. собака проинициализированиа по шиту как выключена нафиг 0х00
3. в цикле сравнения каждого байта ключа есть сброс собаки
но результат - инигда перезагрузка мк при проверки ключа, счас попробую переписать код, вынесу процедуру обработки ключей в отдельную, в прерывание буду менять только флаг.