Картина:
Включен watchdog на 2sec. Проверено, он работает по кнопке с delay.
Во всей программе всего 1 wdt_reset в общем цикле. Не вызовешь вовремя – чёткая перезагрузка.
Однако, дуня встаёт колом раз в 4-24 часа.
Беру другую такую же дуню, заливаю тот же hex(!), тем же способом, через usbasp. Всё нормально, сутками крутит, никаких зависаний.
Вот куда копать?
Если она какая-то странная-бракованная, как это определять, без тестовых запусков по 24часа?
При чем здесь это? Проблема есть со старым загрузчиком, т.к. он стартует слишком долго, вачдог успевает срабатывать, в итоге имеем цикличную перезагрузку. Оптибут на время загрузки вачдог отключает, потому проблемы не имеет. Но после загрузки загрузчик ваще никак на работу МК не влияет
v258 забыл уточнить, что цикличный ребут идёт только, когда перезагрузка срабатывает от вачдога.
При отключении питания и ресете, все работает нормально до того момента пока не сработает вачдог.
Загружаю, разумеется, без загрузчика. Экономим…
Watchdog работает 100%. Проверено. Есть кнопка, банально вызывающая delay, который всё сразу перегружает.
Если дело в дуне… Дуня, разумеется – китайский клон, на базе Atmega 328pb. Признаюсь, никогда не брал в руки настоящей нано. Схемотехнику у клонов видел разную, и лично у меня в коллекции уже штук 5-7.
Тут что-то нетривиальное. Пардон, сеньоры,… конечно, лично для меня нетривиальное!
Дуня, откровенно, странная: Usb-micro, PWR необычно горит ядовитым зелёным. Второй такой, к сожалению, нет. Но таких же штук 30 давно разошлось по различным самоделкам в неизвестных направлениях и пока без рекламаций. Не знаю, возможно, всё впереди…