Привет всем.
Есть Arduino Nano с залитой залоченной прошивкой. Интересно, есть способ узнать включен ли на ней watchdog? Как её попробовать подвесить?
Привет всем.
Есть Arduino Nano с залитой залоченной прошивкой. Интересно, есть способ узнать включен ли на ней watchdog? Как её попробовать подвесить?
кварц замкни (тока я этого не советовал )
там ведь еще беда какая, если есть загрузчик и он старый, вачдог по определению не работает.
а если конденсатором?
Катушкой! Катушкой нужно замыкать!!! Желательно катушкой Мишина! ))))
“Леночка! Яица подействовали!!!” (c)
загрузчика там нет
это предположение или утверждение?
если второе, как оно выяснялось при залоченой флеш контролера?
А другого способа нет?
На нано такой крохотный кварц, что его хрен замкнёшь.
загрузчика там точно, я вижу и точно знаю.
тогда гвоздем две ножки на самом МК куда кварц подключен, они там рядом.
а как бы мне посмотреть, ну хоть одним глазком?
Попробовал я этот метод. И, похоже, он нерабочий. Замыкал ноги XTAL1 и XTAL2, куда подключен внешний кварц.
Взял тестовый скетч, с включены вачдогом, проверил на delay() – перезагружается по delay, как настроено.
Замкнул ноги камня XTAL1 и XTAL2 – ардуино просто виснет и не перегружается. После размыкания не отвисает. Помогает только ресет. В принципе, дуня виснет, стоит лишь коснуться XTAL2.
Выключил вачдог, проверил на таймере, снова замкнул – тот же эффект. Что включен вачдог, что выключен, замыкание внешнего кварца ни о чём мне сказать не может.
Ну, конечно, можно.
Лок прошивки не блокирует же возможность залития скетча через usb.
К тому же это мой камень, и если я лочу, то заливаю всегда без загрузчика. У меня вопрос только один - не забыл ли я включить вач-дог, что приводит к такому странному зависанию раз в неделю, чего быть не должно априори.
Ну, если в прошивке есть watch-dog, то, наверное же, на дуню позаботились залить нормальный загрузчик, сбрасывающего watch-dog; либо удалили бы его вовсе, взяв этот вопрос на свой контроль. Ибо зачем было бы вообще включать watch-dog, коли это делало бы из arduino висяк при первом же глюке.
Так тактирование у мк пропадает, что он песни петь должен ? ))
вопрос был как проверить включен ли вачдога. Если эффект данного метода одинаковый - что включен, что выключен, значит что-то тут не так.
Может метод нерабочий, может я делаю что-то неверно. Вопрос - что.
Сэмулируй в любом месте программы зависание while(1); и смотри через сколько секунд будет перегружаться.
Смотря как вачдог организован. Некоторые в таймерное прерывание вставляют.(
Это ж нана? 328? У неё отдельный генератор и даже после перезагрузки отследить можно что вачдог сработал.
Я к тому что, если wdt_reset() будет в прерывании, то while(1) не поможет. Нужен cli() перед этим.)
Это да. Но как же надо озаботится, что б wdt_reset() в прерывание воткнуть?