консультация по EEPROM

Тема в разделе "Флудилка", создана пользователем CYITEP_BAC9I, 20 дек 2017.

  1. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    вечера доброго всем. решил продолжить самообразование и осилить работу с EEPROM. и делаю игрушку на эту тему. Для которой нужно сохранять по нажатию кнопки данные типа float (температуру с точностью 2 знака после запятой) в EEPROM. затем по нажатию другой кнопки выводить записанные данные с номером измерения.
    Для гуру программирования вопрос наверное элементарный. Я же ничего умнее чем прибавить к результату измерений номер не придумал. для примера как я представляю 11.11 - температура, прибавляю 0.0001(номер измерения)
    получается 11.1101 всю эту красоту сохраняю EEPROM.put(). к следующему измерению прибавляю 0.0002 и.т.д.
    затем когда нужно извлекаю данные из EEPROM.get(), разбираю это число, последние две цифры(номер измерения) вывожу на монитор, затем собственно данные измерений. к сожалению готовых примеров не нашел.
    просьба посоветуйте как это можно сделать , сохрнять данные и номер измерения в память а потом извлекать чтоб выводить номер измерения и данные. просьба только наводку дать, решить эту задачку сам хочу, иначе ничего не усвоится) .
     
    Последнее редактирование: 20 дек 2017
  2. rkit

    rkit Гуру

    Номер измерения это позиция ячейки памяти, в которой это измерение записано.
     
    arkadyf и CYITEP_BAC9I нравится это.
  3. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    СПАСИБО!. так просто, а я так боялся EEPROMа).
     
  4. ostrov

    ostrov Гуру

    Учитывайте, что float занимает не один байт.

    И еще раз напоминаю, что слишком доверять EEPROM не стоит, особенно первым ячейкам.
     
    DetSimen нравится это.
  5. DetSimen

    DetSimen Guest

    я храню осмысленную информацию в EEPROM начиная с адреса 0x10. да еще и контрольную сумму считаю каждый раз при записи в EEPROM, и проверяю в setup().
     
  6. ostrov

    ostrov Гуру

    КС это хорошо, но она только скажет вам что инфа повредилась. А чтобы она сама восстанавливалась надо придумать что то другое.
     
  7. DetSimen

    DetSimen Guest

    КС может мне сказать при старте, что информация в EEPROM скомпрометирована, и нужно использовать дефолтные настройки (например, записанные в static массив в PROGMEM).
     
  8. ostrov

    ostrov Гуру

    А вот если хранятся ключи от RFID, толку нет от знания испортился он или нет.
     
  9. parovoZZ

    parovoZZ Гуру

    А как так - запоролись данные в EEPROM? Это в китайской так происходит или в любой микре? Внешняя EEPROM не спасет отца русской демократии?