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

 
 
> Оживление зависших LPC 24,29 и др WD-ом без сброса CPU, деликатный выход из зависания
NEMINT
сообщение Oct 7 2011, 11:52
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 5-05-10
Пользователь №: 57 076



Выход из зависшей ветки через сброс по WDT приведёт к перезапуску CPU, что для ответственного приложения недопустимо. Один из вариантов решения проблемы:
- в конфигурации WDT запрещаем сброс CPU и разрешаем прерывание от WDT
- в main, в главном цикле, как обычно, периодически обнуляем WDT
Но как из прерывания __irq void Watchdog_Handler(void) вернуться не в зависшую ветку, а в главный цикл?
C благодарностью приму советы от уважаемых коллег
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
DpInRock
сообщение Oct 7 2011, 12:45
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
что для ответственного приложения недопустимо

А кто мешает ответственному приложению определять причины рестарта при рестарте (Power on, WDT и прочая)?
Это было бы ответственно.

А вот то, что предлагаете вы (или стремитесь к этому) - это безответственно с одной стороны, и бесполезно - с другой.
В самом деле, подумайте, контекст до прерывания был - веточный. Далее - прерывание. Далее - переход в другое место. Итого. "Другое место" будет работать в конттексте "ветки".

Если так любите зависающие задачи - поставьте какую-либо многозадачную систему (переключатель задач) и подвешивайте их сколько угодно.
Они легко снимаются, запускаются, перезапускаются. Выбор таких систем велик.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 22:04
Рейтинг@Mail.ru


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