Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вопрос по WDT в SiLabs С8051F342
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
Anty
В документации на SiLabs С8051F342 написано, что регистр RSTSRC содержит биты, отвечающие за источники последнего reset'a (Reset source).
А именно 3-ий бит WDTRSF: Watchdog Timer Reset Flag.
0: Source of last reset was not a WDT timeo
1: Source of last reset was a WDT timeout.
Я так понимаю, что после reset'a при возвращении в программу можно проверить данный бит и убедиться в в совей правоте. Но тут появляется еще одна проблема, что при первом запуске проги (после прошивки ее в память контроллера) данный бит уже установлен в 1. И после срабатывания reset'a при возвращении в прогу данный бит опять 1. Что еще удивительнее, все биты данного регистра установлены в 1.
Че это за глюк? может кто знает, как с этим бороться. Стоит задача, чтобы после reset'a контроллер посылал уведомление другому о своем перезапуске. Но только при перезагрузке от WDT. Заранее спасибо.
koyodza
Цитата(Anty @ Oct 27 2008, 10:42) *
...при первом запуске проги (после прошивки ее в память контроллера) данный бит уже установлен в 1. И после срабатывания reset'a при возвращении в прогу данный бит опять 1

А питание кто снимать будет? "Зашивка" программы никак не влияет на состояние регистров.
редактор
После сброса по питанию остальные флаги сброса не определены (считай случайные). Из документации на С8051F040. В остальных моделях я думаю аналогично.
Sergu
Цитата(Anty @ Oct 27 2008, 11:42) *
В документации на SiLabs С8051F342 написано, что регистр RSTSRC содержит биты, отвечающие за источники последнего reset'a (Reset source).
А именно 3-ий бит WDTRSF: Watchdog Timer Reset Flag.
0: Source of last reset was not a WDT timeo
1: Source of last reset was a WDT timeout.
Я так понимаю, что после reset'a при возвращении в программу можно проверить данный бит и убедиться в в совей правоте. Но тут появляется еще одна проблема, что при первом запуске проги (после прошивки ее в память контроллера) данный бит уже установлен в 1. И после срабатывания reset'a при возвращении в прогу данный бит опять 1. Что еще удивительнее, все биты данного регистра установлены в 1.
Че это за глюк? может кто знает, как с этим бороться. Стоит задача, чтобы после reset'a контроллер посылал уведомление другому о своем перезапуске. Но только при перезагрузке от WDT. Заранее спасибо.


Обратите внимание на бит
PORSF: Power-On / VDD Monitor Reset Flag.
1: Read: Last reset was a power-on or VDD monitor reset; all other reset flags indeterminate;

если он в 1 , то остальные флаги не имеют значения
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.