Структуры и EEPROM

Вопросы по встроенным блокам
Ответить
texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Структуры и EEPROM

#1

Сообщение texbez » 05.10.2018{, 23:03}

Добрый день!
Не могу понять чем отличается блок структуры от блока записи - чтения из EEPROM,кроме того что в структурах можно как бы переменные объеденять в "одну папку"?
Интересует разница именно в памяти контроллера что происходит?
Например если выбрать DUE то там вообще нет блоков EEPROM.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Структуры и EEPROM

#2

Сообщение kalobyte » 06.10.2018{, 00:04}

структура она не хранится в епроме, но это чисто реализация флпрог

запись в евром это 1 переменная на 1 блок
а структура может состоять из разных типов данных
например хорошо в структуре хранить настройки или данные, которые должны быть связаны между собой

можно сделать 2 структуры с разными настройками
день и ночь и вызывать их
это как командоаппарат, только попроще

так же можно было бы использовать структуру как базу данных, правда пока не реализовано хранение в епром

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

Структуры и EEPROM

#3

Сообщение НовыйUser » 06.10.2018{, 00:39}

В этой теме, но немного иной вопрос по епрому...

Устанавливая reeprom блок в схему по сути дается команда на постоянное чтения блоком железа. Всегда.
Интересно, насколько оптимизируется работа если сделать условие чтения блока подобием входа EN, т.е разовое по запросу ... :smile114:
Как решение может быть отдельная плата в общей схеме с этим блоком чтобы исключить чтение памяти по команде с переменной, но в тестах не получилось отключать платы по командам (по условию) с переменных. Может быть кто-то это проверял, имеет ли смысл исключать блок REEPROM с постоянным чтением памяти для оптимизации (как пример если нет нагрева лишнего от этой работы, то возможно, увеличится скорость обработки оставшихся плат?)
Пример. При старте проходит разовое чтение переменной из памяти. Нет смысла постоянно читать ее.

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

Структуры и EEPROM

#4

Сообщение Sancho » 06.10.2018{, 15:30}

НовыйUser писал(а):
06.10.2018{, 00:39}
но в тестах не получилось отключать платы по командам (по условию) с переменных...
Пример. При старте проходит разовое чтение переменной из памяти. Нет смысла постоянно читать ее.
Работает однозначно, к тому-же видно по коду.
Создавал переменную bool, например, "initial", стартовое true. Плата работает при initial == 1. Внутри платы initial=0. Всё. Один раз и хватит. :)
Значит у Вас где-то была ошибка.
Отправлено спустя 39 секунд:
eeprom внутренняя/внешняя ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

Структуры и EEPROM

#5

Сообщение НовыйUser » 06.10.2018{, 18:21}

Sancho, внутренняя :smile37:

вот пример :)
в не зависимости от модов железа 2560 результат = постоянное TRUE на второй платке... (версия среды 3.03)
на 4ой версии среды отличалось при тестах, вроде залипание в состоянии FALSE у buzzer

можете проверить в железе скетч ? :smile427:
Вложения
forsancho1.zip
(12.49 КБ) 77 скачиваний

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Структуры и EEPROM

#6

Сообщение texbez » 06.10.2018{, 22:07}

kalobyte писал(а):
06.10.2018{, 00:04}
структура она не хранится в епроме, но это чисто реализация флпрог

запись в евром это 1 переменная на 1 блок
а структура может состоять из разных типов данных
например хорошо в структуре хранить настройки или данные, которые должны быть связаны между собой

можно сделать 2 структуры с разными настройками
день и ночь и вызывать их
это как командоаппарат, только попроще

так же можно было бы использовать структуру как базу данных, правда пока не реализовано хранение в епром
А тогда где структуры хранятся?
И почему для DUE нет блоков парома,это косяк или так должно быть?
Спасибо.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Структуры и EEPROM

#7

Сообщение kalobyte » 06.10.2018{, 23:48}

texbez писал(а):
06.10.2018{, 22:07}
А тогда где структуры хранятся?
в озу естественно
можно конечно в пзу записать всю структуру, но автор не реализовал пока этот пункт
texbez писал(а):
06.10.2018{, 22:07}
И почему для DUE нет блоков парома,это косяк или так должно быть?
в арм контроллерах нет такого вида памяти как епром, только флеш есть и кусок от нее можно использовать как епром
но у флешка намного меньше циклов записи и пока для дуе тоже не реализован режим пзу

надо внешнюю подцепить и вроде слева включить использование внешней пзу

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Структуры и EEPROM

#8

Сообщение texbez » 07.10.2018{, 07:26}

kalobyte писал(а):
06.10.2018{, 23:48}
texbez писал(а):
06.10.2018{, 22:07}
А тогда где структуры хранятся?
в озу естественно
можно конечно в пзу записать всю структуру, но автор не реализовал пока этот пункт
texbez писал(а):
06.10.2018{, 22:07}
И почему для DUE нет блоков парома,это косяк или так должно быть?
в арм контроллерах нет такого вида памяти как епром, только флеш есть и кусок от нее можно использовать как епром
но у флешка намного меньше циклов записи и пока для дуе тоже не реализован режим пзу

надо внешнюю подцепить и вроде слева включить использование внешней пзу
Понял,спасибо!

Naladchik
Капитан
Сообщения: 822
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 151
Откуда: Новосибирск
Имя: Павел

Структуры и EEPROM

#9

Сообщение Naladchik » 07.10.2018{, 09:56}

НовыйUser писал(а):
06.10.2018{, 00:39}
Устанавливая reeprom блок в схему по сути дается команда на постоянное чтения блоком железа. Всегда.
Не всегда а только тогда, когда это значение участвует в последующих вычислениях.
НовыйUser писал(а):
06.10.2018{, 00:39}
...сделать условие чтения блока подобием входа EN, т.е разовое по запросу ...
Чаще всего требуется чтение значения EEPROM и запись его в переменную, соответственно делать надо не чтение по запросу, а запись в переменную по запросу, т.е. использовать вход En у переменной. Таким образом пришел запрос, данные считались и записались в переменную, нет запроса (вход En=0) - в переменной предыдущее значение и команда на чтение из EEPROM не обрабатывается.
СпойлерПоказать
111.png
111.png (2.27 КБ) 1252 просмотра
Win10-64. FLProg Portable.
Изображение

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

Структуры и EEPROM

#10

Сообщение НовыйUser » 07.10.2018{, 10:50}

Naladchik писал(а):
07.10.2018{, 09:56}
НовыйUser писал(а):
06.10.2018{, 00:39}
Устанавливая reeprom блок в схему по сути дается команда на постоянное чтения блоком железа. Всегда.
Не всегда а только тогда, когда это значение участвует в последующих вычислениях.
НовыйUser писал(а):
06.10.2018{, 00:39}
...сделать условие чтения блока подобием входа EN, т.е разовое по запросу ...
Чаще всего требуется чтение значения EEPROM и запись его в переменную, соответственно делать надо не чтение по запросу, а запись в переменную по запросу, т.е. использовать вход En у переменной. Таким образом пришел запрос, данные считались и записались в переменную, нет запроса (вход En=0) - в переменной предыдущее значение и команда на чтение из EEPROM не обрабатывается.
СпойлерПоказать
111.png
спасибо за разъяснения :senile:

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

Структуры и EEPROM

#11

Сообщение Sancho » 09.10.2018{, 12:07}

НовыйUser, Чтение памяти, идея из поста
СпойлерПоказать
screenshot_18-10-09_12-04-25.png
Для записи: детектор изменения числа на вход EN записи в память.
Как-то так.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

Структуры и EEPROM

#12

Сообщение НовыйUser » 14.10.2018{, 16:50}

Sancho, т.е в той же плате которую необходимо включать или отключать надо оперировать параметрами разрешающими или запрещающими ее работу ?

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

Структуры и EEPROM

#13

Сообщение Sancho » 14.10.2018{, 18:06}

НовыйUser, Проанализируйте работу сос скрина выше....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Штатные блоки»