Ноль (как и любое другое значение) в ячейке ОЗУ будет только в одном случае - если его туда записать. Что имеется ввиду под выделением ячейки? Директива типа .byte?
_________________ Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
При написании программ на ассемблере в самом начале любой программы по необходимости вставляете функции и макросы очистки ОЗУ и регистров. Дело в том, что при включении в ОЗУ и регистрах может быть любое значение из за остаточных зарядов. Периферийные регистры при включении питания и сбросе устанавливаются в дефолтные значения. Уточняется в даташитах.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
при включении в ОЗУ и регистрах может быть любое значение из за остаточных зарядов.
...а при сбросе, например во вачдогу или по внешнему ресету так и вовсе там сохранится то, что было до сброса, так что инициализировать переменные нужно всегда.
_________________ Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
При аварийном перезапуске "неопределенность" может иметь место не только в ОЗУ, регистровом файле но и в регистрах спецфункций. Ибо исходное состояние там только при аппаратном сбросе при подаче питания - во всех остальных случаях минимум предшествующее перезапуску состояние.
При аварийном перезапуске "неопределенность" может иметь место не только в ОЗУ, регистровом файле но и в регистрах спецфункций. Ибо исходное состояние там только при аппаратном сбросе при подаче питания - во всех остальных случаях минимум предшествующее перезапуску состояние.
Я ж про соответствие даташиту только В ЛУЧШЕМ СЛУЧАЕ из ВОЗМОЖНЫХ говорю. Достаточно часто бывает и хуже.
Не повреждается только информация в ПЗУ и то "все относительно". Да еще непосредственно в регистре сразу после чтения команды/данных. Все что хранится в регистрах группы оперативной памяти может заполучить "мусор". Про ЕЕПРОМ разговор особый - при хранении/считывании данные повредить затруднительно, однако сам процесс считывания достаточно многоступенчат - посему окончательный результат чтения может иметь искажения. При наличии мощных искровых и прочих помех вышеуказанное следует особо учитывать.
Т.е. кн. включения питания нежелательно использовать, как переключатель режимов. А если хочу, то на МК надо отдельно вешать питание, так?
вопрос, конечно, интересный. существуют китайские фонарики на attiny13, в которых единственная кнопка питания служит и для переключения режимов его работы. но для большинства других устройств это будет достаточно неудобный вариант, а может, и недопустимый.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Собственно ежли кнопка выводит систему из сна, а затем перестраивается на обработку сигнала ввода то можно. Примерно как в этом тесте https://radiokot.ru/forum/viewtopic.php ... 8#p3419178 если помимо вывода из режима сна ту кнопу задействовать в программе как сигнальную для смены режимов. Исходно там кнопа только из гиперсна выводит и в самом теле теста не используется.
А как развитие проекта намечался ключик-отсекатель питания светодиодов и, возможно, внутри цикла свечения кнопа как фактор смены чегось в режиме индикации.
Так чтоб и питание рвать и режимы менять да еще и дешево...
Только если та кнопа "вторичная" - управляет силовым ключом с самоподхватом от МК и дальнейшим отслеживанием уровня на коллекторе упавляемого от МК транзистора. Но там разница между механическим КЗ и открытым переходом настолько мизерная - логическими уровнями вряд-ли можно оперировать... Разве что компаратор и/или АЦП?...
кнопочка там ничего такого не делает, тупо рвет питание МК. а вот программа МК уже весьма и весьма хитро сделана: в активном режиме "заряжается" встроенный конденсатор схемы выборки-хранения АЦП путем выдачи на один из портов высокого уровня. если питание выключается ненадолго - этот конденсатор разрядиться не успевает, и АЦП на этом входе что-то намеряет. если питание отключить на несколько секунд - конденсатор разрядится и АЦП покажет 0. алгоритм переключения режима таков: после подачи питания включается сохраненный ранее в EEPROM. если просто выключить питание - так все и останется. а вот если выключить-включить питание быстро, то МК это обнаруживает по вышеописанному алгоритму и переключает режим, сохраняя его в EEPROM. можно еще использовать аналогичный эффект емкости выводов питания - нескольких пикофарад хватает, чтобы за долю секунды содержимое ОЗУ не усело попортиться... но это игра на грани фола.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
У меня будет в качестве питания танталовый кондер и керамика от Step-up'а. А констант у меня не много, поэтому в пихну проверку содержимого - не соответствует - сброс в начало выбора...
Да, хотел поиграться с watchdog, чтоб таймер отключить, так в симуляторе, что avr, что в протеусе не срабатывает. Использую attiny85, в WDT включил единицу на прерывание и включение (wde), так после 2048 циклов, флаг не поднимается...
Так опять же вариант с управляемым силовым ключем и/или раздельным питанием нагрузки и МК напрашивается... В смысле такового уже ЗА кнопкой... А там и чего по типу ионистора... да диодика шоттки...
Периферия в симуляторах требует внимательного ознакомления с соответствующими разделами хелпа - что-то поддерживается , что-то нет и все относительно каждого из конкретного кристалла по-своему... Читать надо...
в мануале: Number of WDT Oscillator Cycles - 2K (2048) cycles. В протеуси фьюз ставил.
разобрался, осциллятор собаки в attiny25,45,85 работает на 128kHz, думал, 1 MHz.
Все равно не понятно, как посчитать время до прерывание в авр. У меня 1 MHz, Number of WDT Oscillator Cycles - 2K (2048) cycles и срабатывает прерывание на 1050 ms....
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения