Доброго времени суток. Потихоньку осваиваю Ардуино. Есть много толковых статей и видео по основам, но вот по поводу EEPROM Гугл выдает одинаковые примеры использования энергонезависимой памяти. Все очень сухо и не совсем понятно. Мне необходимо записать в EEPROM номер телефона из переменной String. Делаю это так: EEPROM.put(0, phone); Потом другим скетчем считываю ранее записанные данные так: EEPROM.get(0, phone); Все отображается правильно, но если отключить питание Ардуино Уно и снова подключить к компьютеру, то при считывании получается какая-то абракадабра. Почему так происходит и что можно с этим сделать? Заранее всем спасибо за ответы
И для чего такие манипуляции ? Обычно данные хранят в пределах одной и той же программы.
PS: А если не заливать другой скетч, данные нормально читаются ?
В пределах одной программы и заметил искажения. Просто сейчас для тестов взял ардуино нано и методом научного тыка шью ее двумя разными маленькими скетчами. Один для записи, другой для чтения. Так и так кракозябры получаются. Как-то не правильно я строку записываю видимо
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
проверь так: 1) запиши программу записи, запиши значение в еепром 2) запиши программу чтения - считай значение еепром 3) выключи-включи питание - считай кашу из еепром
если работает именно так и если в программе чтения впринципе нет кода записи в еепром, то на что грешить кроме сбойного еепрома я не знаю (если такой код есть - возможно в момент голодных судорог какимто образом на него попадает управление)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Последний раз редактировалось Ivanoff-iv Вт апр 03, 2018 13:27:26, всего редактировалось 1 раз.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Для ардуино IDE при заливке скотча положение о произвольном изменении фузов НЕПРИМЕНИМО. Там работает загрузка через бутлоадер с установленными "по умолчанию для средств IDE" фузами. Частенько "продвинутые"пользователи пользуются и непосредственной заливкой через программатор - но то и компиляция со "спецприемами" и прочие для начинающего с ардуинки "невонятными терминами/приемами".
Опять мимо - говорено же ЭТО АРДУИНО! (А не "чистый" МК под Си или под ассемблером). А там в принципе для пользователя состав фузов НЕДОСТУПЕН - иначе невозможно вписаться в требования базовых функций "операционной системы", предоставляемых компилятором. Более глубокое использование возможностей среды отнюдь не для начинающих.
А там в принципе для пользователя состав фузов НЕДОСТУПЕН
там прям в комплекте положен avrdude, которым, собственно, ардуинская среда и льет прошивки. Имея вторую ардуину, из нее можно соорудить программатор (скетч для него тож в комплекте со средой) и ковырять фьюзы как угодно.
Можно то можно, но если китайцы не напутали с фьюзами (или кто там ардуину делал) - такого быть не должно, в том числе и с первыми ячейками, разве что писать в момент отключения. Программа точно не пишет что то в eeprom постоянно ?
_________________ "Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл / "Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
... там прям в комплекте положен avrdude, которым, собственно, ардуинская среда и льет прошивки. Имея вторую ардуину, из нее можно соорудить программатор (скетч для него тож в комплекте со средой) и ковырять фьюзы как угодно.
Это уже "вторичная прошивка". А основной код прошивает сама IDE - разговор именно об этом загрузчике. Т.е. если в скетче выставлено заполнение ЕЕРПРОМ (прожка с изначально размещенными в ЕЕПРОМ константами) то при загрузке область ЕЕПРОМ должна быть перезаписана обязательно. А вот заложили ли "стирание ЕЕПРОМ по умочанию" - Х/З - проверить бы не помешало...
Потом другим скетчем считываю ранее записанные данные так: EEPROM.get(0, phone); Все отображается правильно, но если отключить питание Ардуино Уно и снова подключить к компьютеру, то при считывании получается какая-то абракадабра.
т.е. во время порчи информации записи не происходит. я спрашивал о составе 2го скетча (о наличии в нём записывающего кода, пусть даже не активного), но ТС молчит...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
1. Если не стоит fuse-бит EESAVE, при стирании кристалла EEPROM очищается.
2. Я встречал ситуацию, когда при медленно спадающем питании содержимое EEPROM повреждалось. Лечится выставлением fuse-битов BODLEVEL для уровня сброса 2.7 В или выше.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
1) повреждение происходит не при перепрошивке. 2) я тоже встречал, но там в самой программе был код, пишущий в еепром, а это немаловажно. у ТС (как он пишет) такого кода нет... (еепромка была прописана другим скетчем).
Добавлено after 1 minute 51 second: но, ТС давно не появлялся, думаю, он сам нашел свой косяк... только признаться стыдно
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Сейчас этот форум просматривают: Сталкер84 и гости: 24
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения