Цитата(Княго @ Oct 3 2009, 11:13)

При включенном питании от него приходят те же данные, что на него посылаются. При выключенном приходят нули, при пустом LPT - ff. Как будто MISO и MOSI закорочены, но только при включенном питании.
Не совсем те же. При работающем канале SPI программирования, но без входа в программирование (или при случайном выходе из него из-за какого-то сбоя) - по этому каналу идёт задержка в один байт.
При попытке "читать" из кристалла в таком состоянии при чтении флеш и будут читаться байты 00 00 01 01 02 02 и т.д. - младшие байты адресов *слов*, которые шли третьими в командах чтения и вышли из кристалла четвёртыми на месте данных. Так же выходит при залоченном кристалле, когда блокируется считывание.
Из EEPROM при этом читается 00 01 02 03 ...
При паршивых землях/больших наводках бывает, что несколько первых команд проходит нормально, а потом сбивается обмен (проскочил лишний SCK - нарушилась нарезка битового потока на байты, автомат программирования не воспринимает команды чтения и просто выпускает наружу всё, что принял, но оно проходит сквозь внутренний 8-битный сдвиговый регистр и задерживается на байт для программатора).
Если есть время - попробуйте avreal-ом, мне просто интересно, скажет ли он synchronisation lost
Если он так скажет - чистить земли, ставить, как уже советовалось, керамику поближе к контроллеру, врезать последовательные резисторы 30-100 Ом в сигналы (особенно SCK и даже может после резистора пикофарад сто на землю).