Записываю 528 байт, читаю тоже 528. А на RS232 получаю 528, 529, 792, 880 байт в зависимости от записываемого байта. Т.е. при записи в ту же страницу разных чисел получаю различную длину данных.
Ну и информация в ячейках совершенно другая от записываемой.
Программу еще раз проверил на макете - все OK. В Proteus'е тоже моделируется все нормально. В проекте предусмотрено 4 таких м/с. Запаял остальные - тоже самое. Кто что может посоветовать или кто-то уже встречался с чем-то подобным.
У меня питание AT45 - 3,3V - 74HCT125 - ATMega128.
Приложил файлы полученные при чтении.
P.S.
Хочу уточнить. В макете AT45 питается 5V. Я где-то здесь читал, что такое возможно. Под рукой не было 3V стабилизатора и я запитал от 5 V. Да, действительно все работало. Я отладил работу с этой м/с и занялся другими узлами на этой же макетке.
Но вот сейчас, когда я попробовал вернуться к этим м/с на макете, оказалось что они не работоспособны.
Одна из AT45 (их 2 шт ) повесила выход глухо на "0". Вторая выдавала всякий мусор. После замены м/с все снова зарабтало на макете.
Так что, НЕ ЗАПИТЫВАЙТЕ AT45 5V, как кое-кто советует. Работайте по datasheet

Вот только-что попробовал прочитать р-р состояния.
На макете (DB161B) - 0xAC, что соответствует документации
У меня на плате (DB161D) - 0xF0 0xF3 на всех 4-х м/с
Почему два байта?