Ститывать из EEPROM каждый цикл.

Использование внешней и внутренней EEPROM, а так-же SD card
Ответить
kbplug
Рядовой
Сообщения: 61
Зарегистрирован: 10 мар 2017, 09:54

Ститывать из EEPROM каждый цикл.

Сообщение kbplug »

Добрый день интересует вопрос, насколько коректным будет ститывать из EEPROM каждый цикл программы?
На сколько это увеличивает быстродействие?
Знімок екрана 2021-09-09 082101.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 1 раз
Контактная информация:

Ститывать из EEPROM каждый цикл.

Сообщение Sancho »

kbplug писал(а): 09 сен 2021, 08:26 На сколько это увеличивает быстродействие?
Чтение одного байта из eeprom занимает около 0.4 мкс.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Ститывать из EEPROM каждый цикл.

Сообщение Di123 »

а разве чтение из епром не входит в цикл программы ?
там же любой блок удлиняет цикл программы
kbplug
Рядовой
Сообщения: 61
Зарегистрирован: 10 мар 2017, 09:54

Ститывать из EEPROM каждый цикл.

Сообщение kbplug »

[ref=#ff8000]Sancho[/ref], спасибо.

Ошибся в первом посте, имел ввиду на сколько уменшает быстродействие.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2392
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 2 раза
Контактная информация:

Ститывать из EEPROM каждый цикл.

Сообщение 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
Последний раз редактировалось Dryundel 10 сен 2021, 18:43, всего редактировалось 1 раз.
Выразить благодарность
Мой E-mail: dryundel@flprog.pro
Аватара пользователя
Dryundel
Полковник
Сообщения: 2392
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 2 раза
Контактная информация:

Ститывать из EEPROM каждый цикл.

Сообщение Dryundel »

Сразу в личку прилетел вопрос:
Привет ! не подскажешь сделать считывать через 100 циклов в программе ?
Способов довольно много.
Ну как вариант, Делаем свой блок с простецким кодом, который будет генерить один короткий импульс за 100 циклов:

Код: Выделить всё

if (_cycle == 100)
{
	cycle100 = 1;
	_cycle =0;
}
else
{
	cycle100 =0;
}
_cycle++;
Вставляем его в любое место проекта, на плату которая всегда работает.
Ту часть программы, которая должна выполняться один раз в 100 циклов, запускаем по условию.
Теперь конкретная плата будет работать только в момент генерации импульса.

Ну как то так:
100циклов.jpg
Работа 1 раз в 100 циклов.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Выразить благодарность
Мой E-mail: dryundel@flprog.pro
Ответить

Вернуться в «Устройства памяти»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей