реклама на сайте
подробности

 
 
> ATMega328P WatchDog
Ioann_II
сообщение Mar 12 2017, 02:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 7-06-05
Пользователь №: 5 797



Здравствуйте, Уважаемые коллеги.

Столкнулся с такой вот проблемой - не получается запустить сторожевой таймер в режиме Сброс.
Делаю так:

Код
WDR ();     // сброс счетчика сторожевого таймера
WDTCSR = WDTCSR | (1<<WDCE) | (1<<WDE);
// запуск сторожевого таймера с предделителем на 512К (0,55с)
WDTCSR = (1<<WDE) | (1<<WDIE) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0);
SEI();      // разрешить прерывания

Работает в режиме прерываний. Действительно, срабатывает прерывание.

Если настраиваю так:

Код
WDR ();     // сброс счетчика сторожевого таймера
WDTCSR = WDTCSR | (1<<WDCE) | (1<<WDE);
// запуск сторожевого таймера с предделителем на 512К (0,55с)
WDTCSR = (1<<WDE) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0);
SEI();      // разрешить прерывания

То, не работает. Точнее, срабатывает, но вместо перезапуска, останавливает работу МК. Далее помогает только если снять питание и подать заново.

Стакливался кто? или может, что-то не так делаю???

Спасибо.

Сообщение отредактировал IgorKossak - Mar 12 2017, 15:31
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
controller_m30
сообщение Mar 15 2017, 03:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



ATMega328P установлена на Arduino? Если да, то в интернете пишут что есть проблема с встроенным загрузчиком (geektimes), который и не даёт правильно работать WatchDog-у.

В отличие от обычного контроллера, который мы покупаем "чистым", в изделиях Arduino вшит загрузчик. Плюс его в том, что для программирования достаточно любого USB-UART переходника, с сигналами RX, TX. А минус - что ещё перед запуском основной программы которую мы пишем, этот загрузчик успевает настроить процессор удобным для себя образом, что в некоторых случаях может мешать работе загруженной программы.

Сообщение отредактировал controller_m30 - Mar 15 2017, 10:50
Go to the top of the page
 
+Quote Post
Ioann_II
сообщение Mar 15 2017, 23:02
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 7-06-05
Пользователь №: 5 797



Цитата(controller_m30 @ Mar 15 2017, 07:17) *
ATMega328P установлена на Arduino? Если да, то в интернете пишут что есть проблема с встроенным загрузчиком (geektimes), который и не даёт правильно работать WatchDog-у.

В отличие от обычного контроллера, который мы покупаем "чистым", в изделиях Arduino вшит загрузчик. Плюс его в том, что для программирования достаточно любого USB-UART переходника, с сигналами RX, TX. А минус - что ещё перед запуском основной программы которую мы пишем, этот загрузчик успевает настроить процессор удобным для себя образом, что в некоторых случаях может мешать работе загруженной программы.


Не установлена, загрузчика нет.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 02:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016