Две измеряемых переменных integer плюс время ( только Часы) и дату если дату и время сложно сделать то можно писать количество записей и от известной даты времени и периодичности делать пересчёт.Сергей писал(а):напишите сколько переменных и каких типов Вы хотите сохранить, поименно. Потом продолжим. Я насчитал 7 переменных.
EEPROM вопросы по созданию переменных
EEPROM вопросы по созданию переменных
Последний раз редактировалось fsergei70 01 авг 2017, 17:47, всего редактировалось 1 раз.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
EEPROM вопросы по созданию переменных
fsergei70, не, дайте правильно ТЗ. Сколько переменных надо записать и каких типов (можно разных одновременно)?
Я "не знаю" что вы с этим блоком будете делать. И на данном этапе не хочу углублятся. Поэтому и прошу четко дать ТЗ. Время, дату температуру в ЕЕПРОМ записать нельзя. Записать можно переменную(нные). Что в этих переменных будет храниться это другой вопрос.
Поэтому определитесь что Вам нужно сохранить и напишите. Сколько там влезет данных это потом посмотрите и решите для себя от чего отказаться или что изменить, это называется - оптимизация. На данном этапе я могу Вам помочь сделать блок, который Вы сможете посмотреть и понять как код пишется.
Я "не знаю" что вы с этим блоком будете делать. И на данном этапе не хочу углублятся. Поэтому и прошу четко дать ТЗ. Время, дату температуру в ЕЕПРОМ записать нельзя. Записать можно переменную(нные). Что в этих переменных будет храниться это другой вопрос.
Поэтому определитесь что Вам нужно сохранить и напишите. Сколько там влезет данных это потом посмотрите и решите для себя от чего отказаться или что изменить, это называется - оптимизация. На данном этапе я могу Вам помочь сделать блок, который Вы сможете посмотреть и понять как код пишется.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
EEPROM вопросы по созданию переменных
Сергей, Доставайте вторые пассатижи...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
EEPROM вопросы по созданию переменных
5 иinteger вот проект.
Проект не прикрепляется потому что весит 2 мб, вот скриншот
Проект не прикрепляется потому что весит 2 мб, вот скриншот
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось fsergei70 01 авг 2017, 18:28, всего редактировалось 1 раз.
EEPROM вопросы по созданию переменных
Проект в архиве
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
EEPROM вопросы по созданию переменных
пробуйте. Результат жду, сам это делаю для общего развития.
А че не используете готовые блоки флпрог для считывания датчиков?
А че не используете готовые блоки флпрог для считывания датчиков?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
EEPROM вопросы по созданию переменных
Самое сложное в задачах с памятью - определится с алгоритмом(методом) восстановления информации о ПОСЛЕДНЕМ АДРЕСЕ при доступе к памяти при записи архивов для избежания затирания.
Лучшим, с моей точки зрения, является запись этого самого адреса в спец ячейку на последнем выдохе(заряде) ионистора после обработке сигнала "хана питанию"
При инициализации читаем, пишем дальше....
Лучшим, с моей точки зрения, является запись этого самого адреса в спец ячейку на последнем выдохе(заряде) ионистора после обработке сигнала "хана питанию"
При инициализации читаем, пишем дальше....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
EEPROM вопросы по созданию переменных
Это как раз не очень сложно, какой адрес был последним подан на блок тот и надо сохранять. А после включения считывать и подавать на вход счетчика как начальное значение. Сложнее мне кажется это запись нескольких переменных одновременно, ведь процедура записи в память занимает много времени. Ну и заставить все это работать с внешней памятью. Вообще блок мне очень понравился, его можно использовать во многих местах, например изменять Настройки в проектах с modbus для работы мастера с несколькими слейвами.Sancho писал(а):Самое сложное в задачах с памятью - определится с алгоритмом(методом) восстановления информации о ПОСЛЕДНЕМ АДРЕСЕ при доступе к памяти при записи архивов для избежания затирания.Лучшим, с моей точки зрения, является запись этого самого адреса в спец ячейку на последнем выдохе(заряде) ионистора после обработке сигнала "хана питанию"
При инициализации читаем, пишем дальше....
Последний раз редактировалось fsergei70 02 авг 2017, 16:53, всего редактировалось 1 раз.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
EEPROM вопросы по созданию переменных
Если его каждый раз при записи перезаписвать, и если это будет происходить часто - протрём дырку.fsergei70 писал(а):какой адрес был последним подан на блок тот и надо сохранять
В Вашем случае, как я понял, раз в час - без проблем.
Сейчас очень плотно подсел на 24С32(64), в плане понятия работы с ней и создания блока. После вчерашних бесед.
Вопросы, что всплывают: запись г,мм,дд,чч; один чистый uint, три 0-511 - температуру можно считать с 50С, правда?, один 0-31. пойдёт?
500 записей на память платы часов.
Добавлено (02.08.2017, 17:04)
---------------------------------------------
максимум 10 мс - это много?fsergei70 писал(а):ведь процедура записи в память занимает много времени
Последний раз редактировалось Sancho 02 авг 2017, 17:07, всего редактировалось 1 раз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
EEPROM вопросы по созданию переменных
Ну адрес каждый час писать не надо ведь а только при пропадании питания. Если питать ардуинку вольт от 9 и подать напругу через делитель на вход то сигнал на входе изменится раньше чем ардуино отрубиться, времени должно хватить чтоб сохранить значение.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
EEPROM вопросы по созданию переменных
Отлично, мой ход мыслей Вы поняли,fsergei70 писал(а):Ну адрес каждый час писать не надо ведь а только при пропадании питания. Если питать ардуинку вольт от 9 и подать напругу через делитель на вход то сигнал на входе изменится раньше чем ардуино отрубиться, времени должно хватить чтоб сохранить значение.
как насчёт диапазона записываемых параметров?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
EEPROM вопросы по созданию переменных
Год, месяц, число, и часы можно в byte писать ну а температуру и расход в int, как Сергей в своём блоке сделал тремя постами выше
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
EEPROM вопросы по созданию переменных
Хотя это не принципиально - записываться будет восемь байт - распределить можно как душе угодно.
Запись лучше вести блоками по 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)
---------------------------------------------
Думаю, скоро Сергей тоже скоро заинтересуется внешней памятью за смешные деньги...
Запись лучше вести блоками по 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, если что. запомните на всякий. многие знают номер тлф.
EEPROM вопросы по созданию переменных
Да конечно лучше блоками. В моем случае за глаза хватает блока в 8 байт, но подойдёт допустим блок в 4 байта просто придётся 2 блока использовать и адресное пространство попала делить. Еслиб в стандартном блоке был вход установки адреса то и изобретать ничего не нужно было бы.
Последний раз редактировалось fsergei70 02 авг 2017, 17:37, всего редактировалось 1 раз.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
EEPROM вопросы по созданию переменных
Написанное мной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 вопросы по созданию переменных
Наваял тестовые, пробуем
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
EEPROM вопросы по созданию переменных
Огромное спасибо, буду пробовать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей