Нужна ли задержка между несколькими EEPROM.update?

Парни, у меня острый приступ кретинизма.

Если у меня идут подряд несколько EEPROM.update по разным адоесам, нужно ли мне между ними делать задержку на несколько мс или нет? Анализ eeprom.h на вопрос не ответил.

Я просто помню, что епромка пишется медленно, потому и спрашиваю. Пишу в 328p, если что.

Спасибо!

P.S. Я просто всегда ее делал в 5 мс, но сейчас остро не хватает объема флеша, изучаю, на чем бы сэкономить. :slight_smile:

Насколько я помню, нужно 5 миллис для завершения записи. update тоже пишет иногда. Тут либо делать проверку, либо ставить 5 миллис. ИМХО

А как задержка коррелирует с объемом флеша?

А по поводу основного вопроса: задержку надо делать, если следующая операция записи происходит в другую страницу (по сравнению с предыдущей операцией).

Должно работать без дополнительных задержек ИМХО
P.S.

EEPROM.h использует avr/eeprom.h, а в ней
"Все функции для чтения/записи сначала удостоверяются готов ли к обращению EEPROM. "

Любой delay(5) занимает место во флеше. Когда счет идет на байты, это важно. :slight_smile:

А если добавить delay(5) внутрь EEPROM.Update ? Это не спасёт отца русской демократии ?

С точки зрения объема скомпилированного кода это будет монопенисуально, будет строчка в коде, или в библиотеке. :slight_smile: Вопрос именно в том, нужна ли она вообще по факту.

Никакого кода мы пока вообще не видели !

Ах да, извините:

EEPROM.update(a1,val); 
delay(5);
EEPROM.update(a2,val); 

Надеюсь, это все упростит? :slight_smile: Уважаемый, вопрос не в коде, вопрос в том, НУЖНО делать задержку между парой eeprom.update, или нет.

Вы же библиотекой пользуетесь. Там уже есть delay(5); Еще один не нужен.

Тем более таким способом. .update() пишет (и делает задержку после записи) только если ячейка должна поменять содержимое. У вас в коде выше задержка будет всегда

Вот я потому и спросил, нужна ли задержка, потому что в библиотеке ее не нашел. Спасибо! :slight_smile:

В библиотеке ее не может не быть задержки на запись, если она требуется железом. Другой вопрос, что согласно arduino.cc:

An EEPROM write takes 3.3 ms to complete

, а не 5мс, как на i2c eeprom.

Ну, в данном случае конкретная величина задержки не играет роли, вопрос именно в том, предусмотрели ее в библиотеке, или нет.

Опять?

Нет, всё уже сделано без Вас.