Страница 1 из 1

Структуры и EEPROM

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

Структуры и EEPROM

Добавлено: 06 окт 2018, 00:04
kalobyte
структура она не хранится в епроме, но это чисто реализация флпрог

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

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

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

Структуры и EEPROM

Добавлено: 06 окт 2018, 00:39
НовыйUser
В этой теме, но немного иной вопрос по епрому...

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

Структуры и EEPROM

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

Структуры и EEPROM

Добавлено: 06 окт 2018, 18:21
НовыйUser
[ref=#ff8000]Sancho[/ref], внутренняя :smile37:

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

можете проверить в железе скетч ? :smile427:

Структуры и EEPROM

Добавлено: 06 окт 2018, 22:07
texbez
kalobyte писал(а): 06 окт 2018, 00:04 структура она не хранится в епроме, но это чисто реализация флпрог

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

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

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

Структуры и EEPROM

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

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

Структуры и EEPROM

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

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

Структуры и EEPROM

Добавлено: 07 окт 2018, 09:56
Naladchik
НовыйUser писал(а): 06 окт 2018, 00:39Устанавливая reeprom блок в схему по сути дается команда на постоянное чтения блоком железа. Всегда.
Не всегда а только тогда, когда это значение участвует в последующих вычислениях.
НовыйUser писал(а): 06 окт 2018, 00:39...сделать условие чтения блока подобием входа EN, т.е разовое по запросу ...
Чаще всего требуется чтение значения EEPROM и запись его в переменную, соответственно делать надо не чтение по запросу, а запись в переменную по запросу, т.е. использовать вход En у переменной. Таким образом пришел запрос, данные считались и записались в переменную, нет запроса (вход En=0) - в переменной предыдущее значение и команда на чтение из EEPROM не обрабатывается.
[spoiler]
111.png
[/spoiler]

Структуры и EEPROM

Добавлено: 07 окт 2018, 10:50
НовыйUser
Naladchik писал(а): 07 окт 2018, 09:56
НовыйUser писал(а): 06 окт 2018, 00:39Устанавливая reeprom блок в схему по сути дается команда на постоянное чтения блоком железа. Всегда.
Не всегда а только тогда, когда это значение участвует в последующих вычислениях.
НовыйUser писал(а): 06 окт 2018, 00:39...сделать условие чтения блока подобием входа EN, т.е разовое по запросу ...
Чаще всего требуется чтение значения EEPROM и запись его в переменную, соответственно делать надо не чтение по запросу, а запись в переменную по запросу, т.е. использовать вход En у переменной. Таким образом пришел запрос, данные считались и записались в переменную, нет запроса (вход En=0) - в переменной предыдущее значение и команда на чтение из EEPROM не обрабатывается.
[spoiler]111.png[/spoiler]
спасибо за разъяснения :senile:

Структуры и EEPROM

Добавлено: 09 окт 2018, 12:07
Sancho
[ref]НовыйUser[/ref], Чтение памяти, идея из поста
[spoiler]
screenshot_18-10-09_12-04-25.png
[/spoiler]
Для записи: детектор изменения числа на вход EN записи в память.
Как-то так.

Структуры и EEPROM

Добавлено: 14 окт 2018, 16:50
НовыйUser
[ref=#ff8000]Sancho[/ref], т.е в той же плате которую необходимо включать или отключать надо оперировать параметрами разрешающими или запрещающими ее работу ?

Структуры и EEPROM

Добавлено: 14 окт 2018, 18:06
Sancho
[ref]НовыйUser[/ref], Проанализируйте работу сос скрина выше....