Свежие обсуждения
Микроконтроллеры

время записи в EEPROM Atmega8 WinAVR язык C ?

Обнуляю данные в ячейках памяти…
for(i=0;i24;i++)
{
eeprom_write_byte((100+i),0);
}
И вот не всегда эти данные обнуляются, в ячейках иногда остаются данные…
У меня вопрос, макрокоманда на запись в память, контролирует время записи в память или нет?
У меня подозрения что МК просто не успевает записать нули в память, т.к. очень быстро идут команды смены адреса…

 

около 5- 10 мс. На байт.
Если Вы заглядываете туда раньше, то часть информации не успевает записаться.
И использовать в Вашем случае нужно блочную запись, так должно быть быстрее
#include <avr/eeprom.h>
uint8_t EEMEM D1[24];
char buff_dig[24];
for(i=0;i24;i++)
{
buff_dig[i]=0;
}

eeprom_write_block ((void*)&buff_dig,&D1,24);