|
|
  |
При включенном BOOTRST не работает Watchdog [РЕШЕНО] |
|
|
|
Apr 8 2012, 16:48
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Alt.F4 @ Apr 8 2012, 19:38)  Добрый день. Столкнулся с проблемой, как только выставляю фьюз BOOTRST перестает работать Watchdog. Вернее он работает, но МК не перезагружается, а тупо входит в ресет и все. Подскажите, куда копать? Спасибо. Какой процессор-то? Вы уверены что меняете BOOTRST а не WDTON? Чему равны остальные fuse байты? Чем заполнено память в области boot?
|
|
|
|
|
Apr 8 2012, 19:08
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
Цитата(Alt.F4 @ Apr 8 2012, 21:01)  Вопрос: после рестaрта по WDT, он самовыключается? Хотя даже если он не выключается, то не вариант. У меня настроен на 4сек. За этот промежуток времени он проскочил бы bootloader. Нет, не самовыключается, где то даже в аппноутах на это обращали внимание, что сразу после ресета его надо сбрасывать_перенастраивать/отключать, иначе можно получтиь вечный ресет. P.S. Саму аппликуху быстро найти не удалось, но выдержку из нее нашел здесь на форуме: http://electronix.ru/forum/index.php?showt...st&p=417632Цитата For these newer AVRs a function needs to be added to the .init3 section (i.e. during the startup code, before main()) to disable the watchdog early enough so it does not continually reset the AVR.
|
|
|
|
|
Apr 8 2012, 20:32
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Цитата Похоже Вы не попадаете в адреса прерываний. При чем тут прерывания и приведенная Вами цитата из DS? Если что, в бутлодыре прерывания не юзаю. Artem_Petrik, завтра попробую.
Сообщение отредактировал Alt.F4 - Apr 8 2012, 20:34
|
|
|
|
|
Apr 9 2012, 10:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Artem_Petrik, спасибо за наводку. Все написано в даташите (стр.57): Цитата If the Watchdog is accidentally enabled, for example by a runaway pointer or brown-out condition, the device will be reset and the Watchdog Timer will stay enabled. If the code is not set up to handle the Watchdog, this might lead to an eternal loop of time-out resets. После сброса WDT не выключается и у него сбрасывается Prescaler на 16мс.
Сообщение отредактировал Alt.F4 - Apr 9 2012, 10:36
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|