 |
17.03.2017, 21:16
|
#1
|
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від ya7sergey
А кто нибудь решил вопрос с восстановлением работоспособности контроллера по расписанию после сброса питания? Ранее товарищ из Болгарии предлагал кусок кода, но он не работоспособен. Если у кого есть рабочий вариант поделитесь.
|
А как понять восстановление работоспособности? Вы имеете ввиду что бы при запуске загрузились все настройки тамеры и.т.п.? Или есть какая-то специфическая функция у данной разработки?
|
|
|
18.03.2017, 07:15
|
#2
|
|
Придивляюся
Реєстрація: 09.02.2017
Звідки Ви: Samara
Дописи: 22
сказав Дякую: 8
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
А как понять восстановление работоспособности? Вы имеете ввиду что бы при запуске загрузились все настройки тамеры и.т.п.? Или есть какая-то специфическая функция у данной разработки?
|
именно это и имел ввиду. Чтобы после подачи питания контроллер считывал установки каналов из памяти и начанал работать по ним, а не по мифическому своему режиму поддержания жизнидеятельности.
Смотрел реализацию данной функции в других проектах, но мои познания в прогаммтровании не позволяют это перенести на данный проект, по этому прошу Вашей помощи.
Востаннє редагував ya7sergey: 18.03.2017 о 07:21..
|
|
|
18.03.2017, 10:39
|
#3
|
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ya7sergey, Вам сюда http://arduino.ru/Reference/Library/EEPROM
По факту там две команды, считать и записать в номер ячейки которую вы выберите.
Иногда бывает, что значение не влазит в одну ячейку памяти, тогда её нужно разбивать на две через сдвиг.
Немного подсказок:
1) сначала сбросите все значения в EEPROM в ноль через цикл проще всего, по умолчанию там 255 и можно при считывании получить какую то глупость, ноль всё таки безопаснее.
2) Напишите себе в программе кусочек кода инициализации всех переменных, его надо выполнять где то в начале старта программы и не забывайте сохранять параметры в память при их изменении.
__________________ 
Востаннє редагував mashenkaM: 18.03.2017 о 13:45..
|
|
|
|
cказали "Дякую" mashenkaM за цей допис:
|
|
20.03.2017, 07:26
|
#4
|
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
ya7sergey, Вам сюда http://arduino.ru/Reference/Library/EEPROM
По факту там две команды, считать и записать в номер ячейки которую вы выберите.
Иногда бывает, что значение не влазит в одну ячейку памяти, тогда её нужно разбивать на две через сдвиг.
Немного подсказок:
1) сначала сбросите все значения в EEPROM в ноль через цикл проще всего, по умолчанию там 255 и можно при считывании получить какую то глупость, ноль всё таки безопаснее.
2) Напишите себе в программе кусочек кода инициализации всех переменных, его надо выполнять где то в начале старта программы и не забывайте сохранять параметры в память при их изменении.
|
Абсолютно верно! EEPROM вам в помощь. От себя добавлю что сохранение настроек нужно производить на лету. Т.е. в момент их изменения, и при записи параметров производить проверку на изменение записываемого параметра. Так как Arduino и иже с ним имеют ограниченное количество перезаписи ячеек памяти, хотя оно достаточно велико (но меньше чем у обычной флешки), видел уникальные примеры где в цикле люди писали значения в EEPROM без проверки данных.
|
|
|
20.03.2017, 12:52
|
#5
|
|
Придивляюся
Реєстрація: 09.02.2017
Звідки Ви: Samara
Дописи: 22
сказав Дякую: 8
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
Абсолютно верно! EEPROM вам в помощь. От себя добавлю что сохранение настроек нужно производить на лету. Т.е. в момент их изменения, и при записи параметров производить проверку на изменение записываемого параметра. Так как Arduino и иже с ним имеют ограниченное количество перезаписи ячеек памяти, хотя оно достаточно велико (но меньше чем у обычной флешки), видел уникальные примеры где в цикле люди писали значения в EEPROM без проверки данных.
|
Спасибо что откликнулись. Но я просил не мурзилку-самоучитель, а поделитья рабочим кодом, т.к. "мои познания в прогаммтровании не позволяют это перенести на данный проект". Исходя из всего выше прочитанного делаю вывод, что ЗНАЧИТЕЛЬНО проще подключить контроллер через ИБП.
|
|
|
20.03.2017, 17:12
|
#6
|
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ya7sergey, скорее всего вникал в код только ТС, поэтому спрашивайте у него. Остальные как и Вы только собирали, а кто умеет программировать писали свою программу и под свои требования.
Ардуина на многое способна, но уже отходит на второй план, поэтому поддержка пользователей навряд ли будет 
__________________ 
|
|
|
21.03.2017, 09:20
|
#7
|
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
Ардуина на многое способна, но уже отходит на второй план
|
Добрый День! А что же на данное время на первом месте заместь ардуино?
|
|
|
21.03.2017, 08:12
|
#8
|
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від ya7sergey
Спасибо что откликнулись. Но я просил не мурзилку-самоучитель, а поделитья рабочим кодом, т.к. "мои познания в прогаммтровании не позволяют это перенести на данный проект". Исходя из всего выше прочитанного делаю вывод, что ЗНАЧИТЕЛЬНО проще подключить контроллер через ИБП.
|
Простите не совсем понял, вам нужен пример рабочего кода как записать и считать данные из EEPROM? Или вам нужна прошивка для контроллера с уже добавленным функционалом? Если первое то пожалуйста:
Оффтоп
void SavePrefereseToEPPROM() {
if ((bool) EEPROM.read(NTP_ADDR) != NTPState)
EEPROM.write(NTPState, NTP_ADDR);
if ((bool) EEPROM.read(AUTO_CONNCT_ADDR) != WIFI_ENABLE)
EEPROM.write(WIFI_ENABLE, AUTO_CONNCT_ADDR);
if ((bool) EEPROM.read(MAX_TIMERS_ADDR) != MAX_TIMERS)
EEPROM.write(MAX_TIMERS, MAX_TIMERS_ADDR);
if ((bool) EEPROM.read(MAX_TEMP_SENSOR_ADDR) != MAX_TEMP_SENSOR)
EEPROM.write(MAX_TEMP_SENSOR, MAX_TEMP_SENSOR_ADDR);
}
void LoadPreferenceFromEPPROM() {
NTPState = (bool) EEPROM.read(NTP_ADDR);
WIFI_ENABLE = (bool) EEPROM.read(AUTO_CONNCT_ADDR);
MAX_TIMERS = (bool) EEPROM.read(MAX_TIMERS_ADDR);
MAX_TEMP_SENSOR = (bool) EEPROM.read(MAX_TEMP_SENSOR_ADDR);
}
А если второе то просите ТС запилить этот функционал... По поводу ИБП это утопия...
|
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
|
| Параметри теми |
|
|
| Параметри перегляду |
Комбінований вигляд
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 08:14.
|