Возникла проблема с постраничной записью в EEPROM 24C32, при попытке записать 14 байт подряд, начиная с адреса 0x001С, первые байты пишутся правильно по адресам 0x001С-0x001F, а остальные записываются с нулевого адреса. Вроде все по даташиту, после каждого байта есть подтверждение, в конце страницы условие стоп. В чем проблема, почему сбрасывается внутренний счетчик адреса не могу понять.
Знающие, подскажите пожалуйста, что я упустил!
В приложении проект 7 студии, файл протеуса, лог записи в реальную микросхему (Saleae logic), а так же файл данных прочитанных из этой микросхемы проггером.
Спасибо!
UPD - удалил файл, т.к. в библиотеке ошибки.
Последний раз редактировалось Scorpi Вс мар 19, 2017 12:14:37, всего редактировалось 1 раз.
У этой модели размер страницы 32 байта, поэтому счетчик адреса обнуляется при переходе через 31 (=0х1F). Чтобы этого не происходило следует записать прежнюю страницу командой PAGE WRITE после записи байта по адресу 0x1F и далее начинать запись в следующую начиная с адреса 0x20.
Спасибо! Не внимательно прочел даташит, оказывается за пределы страницы нельзя выходить. А я полагал, что просто нельзя выходить за размеры буфера и запись можно начинать с любого адреса... оказывается не так...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения