Страница 1 из 1
Ститывать из EEPROM каждый цикл.
Добавлено: 09 сен 2021, 08:26
kbplug
Добрый день интересует вопрос, насколько коректным будет ститывать из EEPROM каждый цикл программы?
На сколько это увеличивает быстродействие?
Знімок екрана 2021-09-09 082101.png
Ститывать из EEPROM каждый цикл.
Добавлено: 09 сен 2021, 08:55
Sancho
kbplug писал(а): 09 сен 2021, 08:26
На сколько это увеличивает быстродействие?
Чтение одного байта из eeprom занимает около 0.4 мкс.
Ститывать из EEPROM каждый цикл.
Добавлено: 10 сен 2021, 10:31
Di123
а разве чтение из епром не входит в цикл программы ?
там же любой блок удлиняет цикл программы
Ститывать из EEPROM каждый цикл.
Добавлено: 10 сен 2021, 10:57
kbplug
[ref=#ff8000]Sancho[/ref], спасибо.
Ошибся в первом посте, имел ввиду на сколько уменшает быстродействие.
Ститывать из EEPROM каждый цикл.
Добавлено: 10 сен 2021, 14:22
Dryundel
kbplug писал(а): 10 сен 2021, 10:57
Ошибся в первом посте, имел ввиду на сколько уменшает быстродействие.
Sancho писал(а): 09 сен 2021, 08:55
Чтение одного байта из eeprom занимает около 0.4 мкс.
Теоретически да, время считывания одного байта из eeprom занимает около 0.4 мкс. Но практически, а конкретно в данном случае, работа осуществляется через библиотеку eeprom.h, и каждый запрос вызывает функцию этой библиотеки, а соответственно и увеличивает время выполнения цикла довольно существенно.
[ref]kbplug[/ref], Если Вам так важно сократить количество считываний, запускайте считывание каждые 100 циклов к примеру. Или воспользуйтесь наработками [ref]ecoins[/ref]. Придется изучить.
А здесь Вы найдете практически все основы работы с EEPROM
Ститывать из EEPROM каждый цикл.
Добавлено: 10 сен 2021, 16:21
Dryundel
Сразу в личку прилетел вопрос:
Привет ! не подскажешь сделать считывать через 100 циклов в программе ?
Способов довольно много.
Ну как вариант,
Делаем свой блок с простецким кодом, который будет генерить один короткий импульс за 100 циклов:
Код: Выделить всё
if (_cycle == 100)
{
cycle100 = 1;
_cycle =0;
}
else
{
cycle100 =0;
}
_cycle++;
Вставляем его в любое место проекта, на плату которая всегда работает.
Ту часть программы, которая должна выполняться один раз в 100 циклов, запускаем по условию.
Теперь конкретная плата будет работать только в момент генерации импульса.
Ну как то так:
100циклов.jpg
Работа 1 раз в 100 циклов.flp