Ноль (как и любое другое значение) в ячейке ОЗУ будет только в одном случае - если его туда записать. Что имеется ввиду под выделением ячейки? Директива типа .byte?
_________________ Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
При написании программ на ассемблере в самом начале любой программы по необходимости вставляете функции и макросы очистки ОЗУ и регистров. Дело в том, что при включении в ОЗУ и регистрах может быть любое значение из за остаточных зарядов. Периферийные регистры при включении питания и сбросе устанавливаются в дефолтные значения. Уточняется в даташитах.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
при включении в ОЗУ и регистрах может быть любое значение из за остаточных зарядов.
...а при сбросе, например во вачдогу или по внешнему ресету так и вовсе там сохранится то, что было до сброса, так что инициализировать переменные нужно всегда.
_________________ Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Компания 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....
Сейчас этот форум просматривают: nicruzhov и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения