EEPROM вопросы по созданию переменных

Использование внешней и внутренней EEPROM, а так-же SD card
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Сергей писал(а):напишите сколько переменных и каких типов Вы хотите сохранить, поименно. Потом продолжим. Я насчитал 7 переменных.
Две измеряемых переменных integer плюс время ( только Часы) и дату если дату и время сложно сделать то можно писать количество записей и от известной даты времени и периодичности делать пересчёт.
Последний раз редактировалось fsergei70 01 авг 2017, 17:47, всего редактировалось 1 раз.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31 авг 2015, 15:06
Имя: Сергей
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Сергей »

fsergei70, не, дайте правильно ТЗ. Сколько переменных надо записать и каких типов (можно разных одновременно)?
Я "не знаю" что вы с этим блоком будете делать. И на данном этапе не хочу углублятся. Поэтому и прошу четко дать ТЗ. Время, дату температуру в ЕЕПРОМ записать нельзя. Записать можно переменную(нные). Что в этих переменных будет храниться это другой вопрос.
Поэтому определитесь что Вам нужно сохранить и напишите. Сколько там влезет данных это потом посмотрите и решите для себя от чего отказаться или что изменить, это называется - оптимизация. На данном этапе я могу Вам помочь сделать блок, который Вы сможете посмотреть и понять как код пишется.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Sancho »

Сергей, Доставайте вторые пассатижи...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

5 иinteger вот проект.
Проект не прикрепляется потому что весит 2 мб, вот скриншот
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось fsergei70 01 авг 2017, 18:28, всего редактировалось 1 раз.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Проект в архиве
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31 авг 2015, 15:06
Имя: Сергей
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Сергей »

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

EEPROM вопросы по созданию переменных

Сообщение Sancho »

Самое сложное в задачах с памятью - определится с алгоритмом(методом) восстановления информации о ПОСЛЕДНЕМ АДРЕСЕ при доступе к памяти при записи архивов для избежания затирания.
Лучшим, с моей точки зрения, является запись этого самого адреса в спец ячейку на последнем выдохе(заряде) ионистора после обработке сигнала "хана питанию"
При инициализации читаем, пишем дальше....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Sancho писал(а):Самое сложное в задачах с памятью - определится с алгоритмом(методом) восстановления информации о ПОСЛЕДНЕМ АДРЕСЕ при доступе к памяти при записи архивов для избежания затирания.Лучшим, с моей точки зрения, является запись этого самого адреса в спец ячейку на последнем выдохе(заряде) ионистора после обработке сигнала "хана питанию"
При инициализации читаем, пишем дальше....
Это как раз не очень сложно, какой адрес был последним подан на блок тот и надо сохранять. А после включения считывать и подавать на вход счетчика как начальное значение. Сложнее мне кажется это запись нескольких переменных одновременно,  ведь процедура записи в память занимает много времени. Ну и заставить все это работать с внешней памятью. Вообще блок мне очень понравился, его можно использовать во многих местах, например изменять Настройки в проектах с modbus для работы мастера с несколькими слейвами.
Последний раз редактировалось fsergei70 02 авг 2017, 16:53, всего редактировалось 1 раз.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Sancho »

fsergei70 писал(а):какой адрес был последним подан на блок тот и надо сохранять
Если его каждый раз при записи перезаписвать, и если это будет происходить часто - протрём дырку.
В Вашем случае, как я понял, раз в час - без проблем.
Сейчас очень плотно подсел на 24С32(64), в плане понятия работы с ней и создания блока. После вчерашних бесед.
Вопросы, что всплывают: запись г,мм,дд,чч; один чистый uint, три 0-511 - температуру можно считать с 50С, правда?, один 0-31. пойдёт?
500 записей на память платы часов.

Добавлено (02.08.2017, 17:04)
---------------------------------------------
fsergei70 писал(а):ведь процедура записи в память занимает много времени
максимум 10 мс - это много?
Последний раз редактировалось Sancho 02 авг 2017, 17:07, всего редактировалось 1 раз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Ну адрес каждый час писать не надо ведь а только при пропадании питания. Если питать ардуинку вольт от 9 и подать напругу через делитель на вход то сигнал на входе изменится раньше чем ардуино отрубиться, времени должно хватить чтоб сохранить значение.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Sancho »

fsergei70 писал(а):Ну адрес каждый час писать не надо ведь а только при пропадании питания. Если питать ардуинку вольт от 9 и подать напругу через делитель на вход то сигнал на входе изменится раньше чем ардуино отрубиться, времени должно хватить чтоб сохранить значение.
Отлично, мой ход мыслей Вы поняли,
как насчёт диапазона записываемых параметров?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Год, месяц, число, и часы можно в byte писать ну а температуру и расход в int, как Сергей в своём блоке сделал тремя постами выше
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Sancho »

Хотя это не принципиально - записываться будет восемь байт - распределить можно как душе угодно.
Запись лучше вести блоками по 2, 4, 8, 16 или 32 байта.

Добавлено (02.08.2017, 17:20)
---------------------------------------------
год     -1 бит
месяц - 5 бит
день   - 5 бит
час     - 5 бит
ИТОГО 2 байта!

Добавлено (02.08.2017, 17:23)
---------------------------------------------
Год вообще не важно, хотя...
Если взять 24С256, да ещё восемь штук.....

Добавлено (02.08.2017, 17:30)
---------------------------------------------
Думаю, скоро Сергей тоже скоро заинтересуется внешней памятью за смешные деньги...
Последний раз редактировалось Sancho 02 авг 2017, 17:27, всего редактировалось 1 раз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Да конечно лучше блоками. В моем случае за глаза хватает блока в 8 байт, но подойдёт допустим блок в 4 байта просто придётся 2 блока использовать и адресное пространство попала делить. Еслиб в стандартном блоке был вход установки адреса то и изобретать ничего не нужно было бы.
Последний раз редактировалось fsergei70 02 авг 2017, 17:37, всего редактировалось 1 раз.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Sancho »

fsergei70 писал(а):Да конечно лучше блоками. В моем случае за глаза хватает блока в 8 байт, но подойдёт допустим блок в 4 байта просто придётся 2 блока использовать и адресное пространство попала делить. Еслиб в стандартном блоке был вход установки адреса то и изобретать ничего не нужно было бы.
Написанное мной
Sancho писал(а):Запись лучше вести блоками по 2, 4, 8, 16 или 32 байта.
относится к оптимальной работе с ВНЕШНЕЙ памятью.
Можно, конечно-же, и с одним байтом работать
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31 авг 2015, 15:06
Имя: Сергей
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Сергей »

Парни, я пока от вашей темы отвлекусь. Завтра на работу на неделю. Буду свой автомат доделывать и запускать.
fsergei70 писал(а):Еслиб в стандартном блоке был вход установки адреса то и изобретать ничего не нужно было бы.
это точно
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM вопросы по созданию переменных

Сообщение Sancho »

Наваял тестовые, пробуем
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

EEPROM вопросы по созданию переменных

Сообщение fsergei70 »

Огромное спасибо, буду пробовать.
Ответить

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

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

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