Не получается сохранить/считать данные из EEPROM

BlackSnow
Offline
Зарегистрирован: 16.08.2015

Здравствуйте. Помогите с проблемой. У меня не сохраняются или не читаются данные из EEPROM, что не так делаю?

Часть функции:

    DS18B20.getAddress(tempDeviceAddress, SensorId);
    for (uint8_t k = 0; k < 8; k++)
    {
      int p = k + 10;
      EEPROM.write(p,(tempDeviceAddress[k],HEX));
      sensor1[k] = tempDeviceAddress[k];
    }
    EEPROM.commit();

Часть сетапа:

  for (int i = 0; i < 8; i++) {
    int k = i + 10;
    sensor1[i] = (EEPROM.read(k),HEX);
}

Убирал (..,HEX) - не помогает...

sadman41
Offline
Зарегистрирован: 19.10.2016
 EEPROM.begin(_какое-то_число_);
   for (uint8_t idx = 0x00; 8 > idx; idx++) {
     yield();  
     EEPROM.write(idx, массив[idx]);
   }
 EEPROM.end();

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Код нужен полностью. Сделайте короткий, но полный пример, проверьте и выложите его. И никаких "частей".

BlackSnow пишет:

Убирал (..,HEX) - не помогает...

Везде убрал? Точно везде? А ставил-то зачем? Чтобы не работало ничерта?

Ещё раз - давайте полный код и безо всяких хексов.

b707
Offline
Зарегистрирован: 26.05.2017

BlackSnow, судя по HEX в коде - в программировании вы не очень. Поэтому выкладывайте полный код. чтобы было видно, что и как вы делаете

 

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

BlackSnow

, контроллер, я так понял, не ардуино? ЕЕPROM надлежащим образом инициализируется перед употреблением? И да, EEPROM не умеет НЕХ, это не стрим

 

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

И еще, таки не write/read, a put/get

BlackSnow
Offline
Зарегистрирован: 16.08.2015

Проблема была в 

EEPROM.begin(_какое-то_число_);

У меня было 10, а сохранял я в ячейки до 50. Всем спасибо за отклики, вы очень помогли!!!

b707
Offline
Зарегистрирован: 26.05.2017

BlackSnow пишет:

Проблема была в...

.... в незнании языка, на котором Вы пишете

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Идея прокладки в виде ардуины для согласования логических уровней на реле - тоже так-себе идея. Это если культурно выразиться

BlackSnow
Offline
Зарегистрирован: 16.08.2015

b707 пишет:

BlackSnow пишет:

Проблема была в...

.... в незнании языка, на котором Вы пишете

Верно) Но для одного раза не хочется изучать язык =)

BlackSnow
Offline
Зарегистрирован: 16.08.2015

Rumata пишет:

Идея прокладки в виде ардуины для согласования логических уровней на реле - тоже так-себе идея. Это если культурно выразиться

Стоит 5 лет и работает отлично =) На самом деле, изначально там ардуина нужна была для плавного включения-выключения света. Для этого нужны были прерывания, а у ESP есть глобальные прерывания для WiFi, из-за которых включение и выключение подвисало. Всё это делалось 5 лет назад, может сейчас что-то и изменилось...

b707
Offline
Зарегистрирован: 26.05.2017

BlackSnow пишет:

Верно) Но для одного раза не хочется изучать язык =)

у вас этот "один раз" уже 6 лет тянется...

ИМХО, если вы выкладываете свой код для общества, как у вас сделано в проекте - изучать язык вы обязаны. Иначе не надо выкладывать.

это лично мое мнение

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

BlackSnow пишет:

Стоит 5 лет и работает отлично =) На самом деле, изначально там ардуина нужна была для плавного включения-выключения света. Для этого нужны были прерывания, а у ESP есть глобальные прерывания для WiFi, из-за которых включение и выключение подвисало. Всё это делалось 5 лет назад, может сейчас что-то и изменилось...

Не знаю, что там у вас стоит, а что подвисает, но использование второго контроллера в качестве "передаста" для исполнительного устройства - бред сивой кобылы. Про остальное - вообще не понял, извините. Весь ваш функционал должен работать на одной маленькой ESP8266

BlackSnow
Offline
Зарегистрирован: 16.08.2015

b707 пишет:

BlackSnow пишет:

Верно) Но для одного раза не хочется изучать язык =)

у вас этот "один раз" уже 6 лет тянется...

ИМХО, если вы выкладываете свой код для общества, как у вас сделано в проекте - изучать язык вы обязаны. Иначе не надо выкладывать.

это лично мое мнение

6 лет оно стояло без изменений =)

На счет кода, я так понимаю что намекаете на постыдность его выкладывания, но у меня тут мнение, что лучше побольше примеров. Мне их очень не хватает когда пишу на 1-2 раза.

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

b707 пишет:

это лично мое мнение

Не только

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

BlackSnow пишет:

На счет кода, я так понимаю что намекаете на постыдность его выкладывания, но у меня тут мнение, что лучше побольше примеров. Мне их очень не хватает когда пишу на 1-2 раза.

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Rumata пишет:

BlackSnow пишет:

На счет кода, я так понимаю что намекаете на постыдность его выкладывания, но у меня тут мнение, что лучше побольше примеров. Мне их очень не хватает когда пишу на 1-2 раза.

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

Ну да.

И чем больше в сети говнокода, тем больше вероятности, что первое, что попадется новичку, будет именно говнокод.