
Однократно считать с EEPROM
Однократно считать с EEPROM
Добрый день, подскажите пожалуйста как правильно однократно при включении питания ардуино считать данные из EEPROM и присвоить их переменным, я делаю вот так но не уверен что это оптимально:


- jonik22sm
- Капитан
- Сообщения: 791
- Зарегистрирован: 20 ноя 2015, 11:28
- Откуда: Краснодар
- Имя: Евгений
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
- Контактная информация:
Однократно считать с EEPROM
Лучше всего делать так
1) создаёш плату №1 туда кидаешь чтение из EEPROM все которые тебе нужны
2) когда открываешь в arduino IDE плату №1 переносишь в область void setup
1) создаёш плату №1 туда кидаешь чтение из EEPROM все которые тебе нужны
2) когда открываешь в arduino IDE плату №1 переносишь в область void setup
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Можно сделать ВСЁ. Было бы желание.
- jonik22sm
- Капитан
- Сообщения: 791
- Зарегистрирован: 20 ноя 2015, 11:28
- Откуда: Краснодар
- Имя: Евгений
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
- Контактная информация:
Однократно считать с EEPROM
я когда на работе собирал расходомеры клея то меня только это спасло
а через триггер подглючивало
Добавлено (20.04.2017, 11:45)
---------------------------------------------
зато 100% прочитается 1 раз
а через триггер подглючивало
Добавлено (20.04.2017, 11:45)
---------------------------------------------
зато 100% прочитается 1 раз
Можно сделать ВСЁ. Было бы желание.
Однократно считать с EEPROM
Можно ещё через условие выполнения платы, главное запись переменной START размещать последней (не раньше платы с чтением)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Oleg_UA 22 апр 2017, 12:33, всего редактировалось 1 раз.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 3 раза
- Контактная информация:
Однократно считать с EEPROM
Правильное, самое правильное, решение - в void setupjonik22sm писал(а):Лучше всего делать так
1) создаёш плату №1 туда кидаешь чтение из EEPROM все которые тебе нужны
2) когда открываешь в arduino IDE плату №1 переносишь в область void setup
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Однократно считать с EEPROM
Так может тогда есть смысл попросить автора интегрировать данное решение в FLProg.
Скажем, можна добавить галочку в свойства платы "запускать однократно".
Скажем, можна добавить галочку в свойства платы "запускать однократно".
-
- Лейтенант
- Сообщения: 361
- Зарегистрирован: 07 сен 2015, 23:53
Однократно считать с EEPROM
Нужен один но он должен быть правильный и не должен ни при каких обстоятельствах вызывать ошибок. И если самое правильное, решение - в void setup то хотелось бы чтобы это можно было сделать из FLProg.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Однократно считать с EEPROM
В первом посту вы почти правильно описали решение.
На первой плате делаете такую схему
На первой плате делаете такую схему
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
- jonik22sm
- Капитан
- Сообщения: 791
- Зарегистрирован: 20 ноя 2015, 11:28
- Откуда: Краснодар
- Имя: Евгений
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
- Контактная информация:
Однократно считать с EEPROM
да но он в любом случае читается каждый раз просто выполняется один раз
а если в void setup то он и читается только при загрузке и ВСЁ больше не участвует в коде
Добавлено (21.04.2017, 21:44)
---------------------------------------------
Или я неправ!?
Добавлено (21.04.2017, 21:44)
---------------------------------------------
Мне очень помогло в расходомере
а если в void setup то он и читается только при загрузке и ВСЁ больше не участвует в коде
Добавлено (21.04.2017, 21:44)
---------------------------------------------
Или я неправ!?
Добавлено (21.04.2017, 21:44)
---------------------------------------------
Мне очень помогло в расходомере
Можно сделать ВСЁ. Было бы желание.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Однократно считать с EEPROM
Нет не правы. Вот образец кода который получается
if (_trgrt1) {
_gtv1 = (readIntegerFromEEPROM(0, 0, 0x0));
}
Читается только если _trgrt1 = 1. А она равнв 1 один раз при пуске контроллера. В остальных случаях код чтения пропускается
if (_trgrt1) {
_gtv1 = (readIntegerFromEEPROM(0, 0, 0x0));
}
Читается только если _trgrt1 = 1. А она равнв 1 один раз при пуске контроллера. В остальных случаях код чтения пропускается
Автор программы FLProg.
Однократно считать с EEPROM
С использованием триггера и нескольких блоков чтения из памяти - программа создаёт столько условий if (_trgrt2) сколько было создано блоков чтения и две переменные, но когда создать условие выполнения платы тогда создаётся только одно условие if (var1 == 0) и нужна только одна переменная.support писал(а):Читается только если _trgrt1 = 1. А она равнв 1 один раз при пуске контроллера. В остальных случаях код чтения пропускается
Но в любом случае сделать возможность переноса в void setup() было-бы очень полезно.
//Плата:с триггером
if (1) { if (_trgrt2I) { _trgrt2 = 0;} else {_trgrt2 = 1; _trgrt2I = 1;} } else {_trgrt2 = 0; _trgrt2I = 0;};
if (_trgrt2) {
var2 = (readIntegerFromEEPROM(2, 0, 0x50));
}
if (_trgrt2) {
var3 = (readIntegerFromEEPROM(2, 0, 0x50));
}
if (_trgrt2) {
var4 = (readIntegerFromEEPROM(2, 0, 0x50));
}
//Плата:с условием
if (var1 == 0) {
var2 = (readIntegerFromEEPROM(2, 0, 0x50));
var3 = (readIntegerFromEEPROM(2, 0, 0x50));
var4 = (readIntegerFromEEPROM(2, 0, 0x50));
var1 = 1;
}
Последний раз редактировалось Oleg_UA 22 апр 2017, 13:01, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость