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

Использование внешней и внутренней EEPROM, а так-же SD card
Ответить
kbplug
Рядовой
Сообщения: 58
Зарегистрирован: 10.03.2017{, 09:54}
Репутация: 14

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

#1

Сообщение kbplug » 09.09.2021{, 08:26}

Добрый день интересует вопрос, насколько коректным будет ститывать из EEPROM каждый цикл программы?
На сколько это увеличивает быстродействие?
Знімок екрана 2021-09-09 082101.png
Для скачивания вложений Вы должны быть зарегистрированы.

Аватара пользователя
Sancho
Полковник
Сообщения: 3756
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 511
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#2

Сообщение Sancho » 09.09.2021{, 08:55}

kbplug писал(а):
09.09.2021{, 08:26}
На сколько это увеличивает быстродействие?
Чтение одного байта из eeprom занимает около 0.4 мкс.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
Di123
Лейтенант
Сообщения: 595
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 7
Имя: Дмитрий

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

#3

Сообщение Di123 » 10.09.2021{, 10:31}

а разве чтение из епром не входит в цикл программы ?
там же любой блок удлиняет цикл программы

kbplug
Рядовой
Сообщения: 58
Зарегистрирован: 10.03.2017{, 09:54}
Репутация: 14

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

#4

Сообщение kbplug » 10.09.2021{, 10:57}

Sancho, спасибо.

Ошибся в первом посте, имел ввиду на сколько уменшает быстродействие.

Аватара пользователя
Dryundel
Майор
Сообщения: 1082
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 338
Откуда: Ярославль
Имя: Андрей
Контактная информация:

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

#5

Сообщение Dryundel » 10.09.2021{, 14:22}

kbplug писал(а):
10.09.2021{, 10:57}
Ошибся в первом посте, имел ввиду на сколько уменшает быстродействие.
Sancho писал(а):
09.09.2021{, 08:55}
Чтение одного байта из eeprom занимает около 0.4 мкс.
Теоретически да, время считывания одного байта из eeprom занимает около 0.4 мкс. Но практически, а конкретно в данном случае, работа осуществляется через библиотеку eeprom.h, и каждый запрос вызывает функцию этой библиотеки, а соответственно и увеличивает время выполнения цикла довольно существенно.

kbplug, Если Вам так важно сократить количество считываний, запускайте считывание каждые 100 циклов к примеру. Или воспользуйтесь наработками ecoins. Придется изучить. :)

А здесь Вы найдете практически все основы работы с EEPROM
Последний раз редактировалось Dryundel 10.09.2021{, 18:43}, всего редактировалось 1 раз.
Пользовательские блоки на сайте FLPROG - BLOCK

Аватара пользователя
Dryundel
Майор
Сообщения: 1082
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 338
Откуда: Ярославль
Имя: Андрей
Контактная информация:

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

#6

Сообщение Dryundel » 10.09.2021{, 16:21}

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

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

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

Ну как то так:
100циклов.jpg
Работа 1 раз в 100 циклов.flp
Для скачивания вложений Вы должны быть зарегистрированы.
Пользовательские блоки на сайте FLPROG - BLOCK

Ответить

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