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

 
 
> WDT – Watchdog Timer, Для чего нужен?
zombi
сообщение Jun 21 2013, 15:34
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Кроме как для сброса плохо написанной "зависшей" программы для чего ещё можно использовать?
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 38)
aaarrr
сообщение Jun 21 2013, 15:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Для пробуждения из глубокого сна, для программного сброса.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 21 2013, 15:51
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(aaarrr @ Jun 21 2013, 18:38) *
Для пробуждения из глубокого сна, для программного сброса.

Возможно, но почему "программного"? может всётаки аппаратного?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 21 2013, 15:59
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zombi @ Jun 21 2013, 19:51) *
Возможно, но почему "программного"?

Потому что инициирован программно.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jun 21 2013, 16:01
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(zombi @ Jun 21 2013, 18:51) *
Возможно, но почему "программного"? может всётаки аппаратного?

В том смысле, что программа вызывает сброс.
Так как не у всех АВР есть способ вызвать сброс МК через запрос, то можно для этого WDT использовать.
Go to the top of the page
 
+Quote Post
Smoky
сообщение Jun 21 2013, 16:20
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135



Была ситуация, когда были заняты все таймеры. Я использовал WDT как дополнительный таймер с прерыванием от него.


--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jun 24 2013, 14:36
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Часы можешь сделать - 1 сек там есть


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 24 2013, 17:09
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
Кроме как для сброса плохо написанной "зависшей" программы для чего ещё можно использовать?

Для сброса хорошо написанной зависшей программы. Зависшей естественно обычно от внешних воздействий типа очень коротких помех или радиации.
Go to the top of the page
 
+Quote Post
Егоров
сообщение Jun 24 2013, 18:58
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Цитата(ArtemKAD @ Jun 24 2013, 20:09) *
Для сброса хорошо написанной зависшей программы. Зависшей естественно обычно от внешних воздействий типа очень коротких помех или радиации.

Скажем так: для сброса добросовестно написанной программы.
Она, как правило, зависает из-за недостаточно полных представлений программиста или создателя алгоритма о реальных процессах в системе. Нештатного поведения датчиков, непредусмотренного стечения обстоятельств, внешнего разового воздействия.
Это реальность, особо укорять тут никого не следует, сторожевые таймеры применяют и весьма квалифицированные, опытные разработчики.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 24 2013, 21:57
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Егоров @ Jun 24 2013, 21:58) *
Она, как правило, зависает из-за недостаточно полных представлений программиста или создателя алгоритма о реальных процессах в системе.

Т.е программисту который полностью представляет все реально происходящие процессы WDT не нужен.

Цитата(Егоров @ Jun 24 2013, 21:58) *
Нештатного поведения датчиков,

Не согласен.
Абсолютно любое поведение дачиков не должно приводить к зависанию программы.

Цитата(Егоров @ Jun 24 2013, 21:58) *
непредусмотренного стечения обстоятельств

Например?
Мне кажется что у добросовестно написанной программы как раз и не может быть непредусмотренных стечений обстоятельств.

Цитата(Егоров @ Jun 24 2013, 21:58) *
внешнего разового воздействия.

Это Вы про радиацию?


Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2013, 22:14
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zombi @ Jun 25 2013, 01:57) *
Мне кажется что у добросовестно написанной программы как раз и не может быть непредусмотренных стечений обстоятельств.

У добросовестно написанной программы, занимающейся, условно говоря, управлением светодиодом от кнопки - возможно; в объемной и разветвленной системе, активно взаимодействующей с внешним миром, предусмотреть все и вся, и обеспечить 100% тестовое покрытие невозможно. И пусть вероятность возникновения "аварийного" стечения обстаятельств будет крайне низкой, следует предусмотреть надежный и безопасный выход из такой ситуации.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 24 2013, 22:57
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(aaarrr @ Jun 25 2013, 01:14) *
в объемной и разветвленной системе, активно взаимодействующей с внешним миром, предусмотреть все и вся, и обеспечить 100% тестовое покрытие невозможно.

На мой взляд как раз в таких системах это просто необходимо и возможно.
А вот так вот недобросовестные программисты и обьясняют зависания своих недобросовестных программ.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2013, 23:24
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Что поделать, слаб человек: и на МКС бортовые ЭВМ, бывает, зависают. Да что там далеко ходить, даже в уютном восьмибитном мирке не все справляются.
А если Вы полагаете, что "полностью представляете все реально происходящие процессы", значит, надо или переходить к более сложным процессам, или отказываться от иллюзий sm.gif
Go to the top of the page
 
+Quote Post
АНТОН КОЗЛОВ
сообщение Jun 25 2013, 02:45
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 344
Регистрация: 3-01-09
Из: УФА
Пользователь №: 42 894



Наоборот, сильно вдохновляет, что даже PC с виндами довольно редко виснут, с их гигабайтами и гигагерцами. Как-то даже не по себе. Какая реальная вероятность безотказной работы?
Go to the top of the page
 
+Quote Post
Егоров
сообщение Jun 25 2013, 03:49
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Цитата(zombi @ Jun 25 2013, 00:57) *
Т.е программисту который полностью представляет все реально происходящие процессы WDT не нужен.
Абсолютно любое поведение дачиков не должно приводить к зависанию программы.
Мне кажется что у добросовестно написанной программы как раз и не может быть непредусмотренных стечений обстоятельств.

Если такой программист и существует, то только новичок или весьма самонадеянный человек.
Непредусмотренное стечение обстоятельств потому так и называется, что его невозможно предусмотреть. Именно из-за таких программистов потерян был "Фобос-грунт". После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей. Они сели и станция замерзла.

"Абсолютно любое" поведение датчиков не знают даже их разработчики. Чтобы это поведение не приводило к зависанию программы существует сторожевой таймер. Ей-ей, его не дураки придумали.
Go to the top of the page
 
+Quote Post
Семин
сообщение Jun 25 2013, 08:58
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 27-04-12
Пользователь №: 71 608



Когда-то специально дал процессору несуществующую команду, хотел посмотреть что получится.
Собака не помогла, только общий сброс.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 25 2013, 10:56
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Егоров @ Jun 25 2013, 06:49) *
Непредусмотренное стечение обстоятельств потому так и называется, что его невозможно предусмотреть.

Мне кажется что непредусмотренное стечение обстоятельств это как раз такое стечение обстоятельств которое забыл или не смог предусмотреть программист.
А для обстоятельств которые предусмотреть невозможно должно быть другое определение.

Цитата(Егоров @ Jun 25 2013, 06:49) *
Именно из-за таких программистов потерян был "Фобос-грунт". После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей.

Если это действительно так, то именно из за непредусмотренной ситуации это и произошло.


Цитата(Егоров @ Jun 25 2013, 06:49) *
"Абсолютно любое" поведение датчиков не знают даже их разработчики. Чтобы это поведение не приводило к зависанию программы существует сторожевой таймер.

Сторожевой таймер существует не для предотвращения зависания а для выхода из оного.

Цитата(aaarrr @ Jun 25 2013, 02:24) *
Что поделать, слаб человек: и на МКС бортовые ЭВМ, бывает, зависают. Да что там далеко ходить, даже в уютном восьмибитном мирке не все справляются.

Давайте не будем трогать MKC,windows и т.д. а только восьмибитный мирок (согласно ветке форума)

Цитата(aaarrr @ Jun 25 2013, 02:24) *
А если Вы полагаете, что "полностью представляете все реально происходящие процессы", значит, надо или переходить к более сложным процессам, или отказываться от иллюзий sm.gif

Вот в этом и пытаюсь разобраться.

Цитата(aaarrr @ Jun 25 2013, 01:14) *
У добросовестно написанной программы, занимающейся, условно говоря, управлением светодиодом от кнопки - возможно; в объемной и разветвленной системе, активно взаимодействующей с внешним миром,

Дайте критерий программы активно взаимодействующей с внешним миром.
Программа анализирующая кнопку и управляющая светодиодом тоже считает себя активно взаимодействующей с внешним миром.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jun 25 2013, 11:56
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(Семин @ Jun 25 2013, 12:58) *
Когда-то специально дал процессору несуществующую команду, хотел посмотреть что получится.
Собака не помогла, только общий сброс.

так если нет Undefined exception, с чего бы собаке виснуть?
проц как распознал, так и выполнил, а прерывание таймера как работало, так и работает. Собака обновляется - значит и сброса нет
Go to the top of the page
 
+Quote Post
Егоров
сообщение Jun 25 2013, 16:30
Сообщение #19


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Цитата(zombi @ Jun 25 2013, 13:56) *
Давайте не будем трогать MKC,windows и т.д. а только восьмибитный мирок (согласно ветке форума)

Вы, похоже, плохо знаете восьмибитный мирок. "Пионер" уже ушел за пределы Солнечной системы, облетел несколько планет, открыл несколько спутников, передал массу хороших цветных фотографий, выполнил сложнейшие баллистические расчеты по маневрированию и ориентации.
Так там 8-битный бортовой процессор и ..аж 8 кбайт памяти на все. И не завис за 30 лет.
Сейчас не каждый программист успеет на этом два светодиода зажечь.

Ладно, Вы имеете свою точку зрения на все проблемы, оставайтесь на ней.
Важно, что другие люди других предупредили. Кому-то это будет повод для размышлений.
Go to the top of the page
 
+Quote Post
Herz
сообщение Jun 25 2013, 16:43
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(zombi @ Jun 25 2013, 00:57) *
Т.е программисту который полностью представляет все реально происходящие процессы WDT не нужен.


В период обучения азам встречал у Микрочипа очень красивый пример с использованием WDT для вполне реальной задачи. Просто для переключения светодиодов. Можно было бы решить "её в лоб", но это слишком банально. А было продемонстрировано, как изящно может её решить настоящий программист.
Сейчас лень искать.
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 25 2013, 18:36
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Неужели в пять команд вместе с включением WDT wink.gif ?
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 25 2013, 18:45
Сообщение #22


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Егоров @ Jun 25 2013, 07:49) *
После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей. Они сели и станция замерзла.

так это значит не была предусмотрена защита от полного разряда... а так вообще-то станция должна постоянно передавать свою телеметрию
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 25 2013, 19:21
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Она и передавала, но ушла за горизонт, а там принимать было некому.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 25 2013, 19:49
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Егоров @ Jun 25 2013, 19:30) *
Так там 8-битный бортовой процессор и ..аж 8 кбайт памяти на все. И не завис за 30 лет.

Интересно, а есть ли в той системе WDT и если есть то сколько раз срабатывал за 30 лет?
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 25 2013, 20:34
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Вообще-то срабатывание WDT для работы устройство должно быть мало заметно.
А в космической технике это переход в "безопасный режим" в который эта техника падает почти по каждому чиху. Без этого режима Пионер проходя через радиационные пояса Юпитера просто бы не выжил. А так отделался только потерей данных.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 25 2013, 21:14
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(ArtemKAD @ Jun 25 2013, 23:34) *
проходя через радиационные пояса

Опять радиация.
Согласен, влияние оной действительно предвидеть невозможно.

Получается что всё упирается только в радиацию? поскольку её влияние мы исключить полностью не можем нужно обязательно использовать WDT?

А что если эта самая радиация "убьёт" и WDT? Зависнем навсегда?
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 26 2013, 04:50
Сообщение #27


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(zombi @ Jun 26 2013, 01:14) *
Получается что всё упирается только в радиацию?

мы выпускаем радиометры для исследования урановых скважин, интенсивности попадаются до 20000мкР, применяю 8-битные AVR, WDT не использую
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 26 2013, 05:38
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
Получается что всё упирается только в радиацию? поскольку её влияние мы исключить полностью не можем нужно обязательно использовать WDT?

Нет, Всё упирается в наличие человека. WDT обязателен если устройство должно работать продолжительное время без отключения и нажатия на кнопку Reset. Ну и конечно чем сложнее программа тем опаснее сбой - в простых программах сбои незаметнее.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 26 2013, 06:36
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(stells @ Jun 26 2013, 07:50) *
мы выпускаем радиометры для исследования урановых скважин, интенсивности попадаются до 20000мкР, применяю 8-битные AVR, WDT не использую

На чём пишете программы для этих радиометров?

Цитата(ArtemKAD @ Jun 26 2013, 08:38) *
... продолжительное время ... чем сложнее программа ...

очень растяжимые понятия
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 26 2013, 06:42
Сообщение #30


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(zombi @ Jun 26 2013, 10:36) *
На чём пишете программы для этих радиометров?

ассемблер... а какая разница?
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 26 2013, 07:54
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
очень растяжимые понятия

Само собой расняжимые. Много от чего зависят. Чем чище и стабильнее питание и меньше воздействия радиации на камень, тем больше времени он может не сбоить. И т.к. процесс статистический, чем больше устройств выпущено, тем раньше можно заметить отсутствие WDT.
Потому и растяжимые.
Go to the top of the page
 
+Quote Post
Егоров
сообщение Jun 26 2013, 11:16
Сообщение #32


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Цитата(stells @ Jun 25 2013, 21:45) *
так это значит не была предусмотрена защита от полного разряда... а так вообще-то станция должна постоянно передавать свою телеметрию

Ну да, так программист и считал. Пару спутников через плечо заглядывал как программируют.
А межпланетная станция летит, ориентируясь на Солнце. Только короткое время сеанса связи переориентируется остронаправленной антенной на Землю. Сбросила пакет телеметрии, получила команды и опять разворачивается батареями на Солнце.
Ошибочно были выстроены приоритеты прерываний и их маски. На время сеанса связи все прочее было замаскировано, чтобы не отвлекало.
А отвлечься на контроль питания стоило. Потеря сеанса связи - невелика беда, можно через пару часов попытаться еще. Потеря же питания привела к потере объекта.
Программа висела в бесконечном цикле ожидания, это был алгоритмический просчет, не предусмотрели такой ситуации. Сторожевой таймер тут бы выручил.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 26 2013, 11:46
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(stells @ Jun 26 2013, 09:42) *
ассемблер... а какая разница?

Я так и предполагал.

Как только начинаешь использовать подпрограммы,библиотеки написанные не самим тут уже без WDT никак это точно biggrin.gif

Цитата(Егоров @ Jun 26 2013, 14:16) *
... это был алгоритмический просчет, не предусмотрели такой ситуации. Сторожевой таймер тут бы выручил.

А если бы такую ситуацию предусмотрели то таймер был бы ненужен.

Цитата(ArtemKAD @ Jun 26 2013, 10:54) *
чем больше устройств выпущено, тем раньше можно заметить отсутствие WDT.

МКС вон единицы выпушено а отсутствие WDT уже заметно.

За двадцать лет мной разработано несколько десятков различных изделий на АТ90S,MEGA,XMEGA которые разошлись тиражами от сотни до десятков тысяч и ни в одном из них я никогда не использовал WDT.
Жалоб на какие либо зависания рабочих изделий небыло.
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jun 26 2013, 12:16
Сообщение #34


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Странно. Особенно на AT90S. Разве что устройства не были автономными.

Цитата
МКС вон единицы выпушено а отсутствие WDT уже заметно.

А причем тут МКС?
Go to the top of the page
 
+Quote Post
Егоров
сообщение Jun 26 2013, 18:19
Сообщение #35


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Цитата(zombi @ Jun 26 2013, 14:46) *
А если бы такую ситуацию предусмотрели то таймер был бы ненужен.

Да, конечно. Но тут я вспоминаю кадры старого фильма:
ПетрI: Продули битву почем зря...
Меншиков: Да, мингерц, продули-с... А вот если бы у нас была конница...
ПетрI: Так то ж если бы она была! Побеждать нужно уметь всегда!
Go to the top of the page
 
+Quote Post
Fujitser
сообщение Jun 27 2013, 14:00
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 294
Регистрация: 28-02-05
Из: Екатеринбург
Пользователь №: 2 925



Цитата(zombi @ Jun 21 2013, 21:34) *
Кроме как для сброса плохо написанной "зависшей" программы для чего ещё можно использовать?


Для сброса зависшего микроконтроллера с хорошо написанной программой? очевидно же.
Микроконтроллеры часто зависают при воздействии помех по питанию и т.п.
WDT должен использоваться обязательно, без вариантов.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 27 2013, 16:01
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Fujitser @ Jun 27 2013, 17:00) *
Микроконтроллеры часто зависают при воздействии помех по питанию и т.п.
WDT должен использоваться обязательно, без вариантов.

Разрешая работу любого узла мк я обязательно должен убедиться в его работоспособности.

Как предлагаете проверить WDT? (советы убрать wdr не принимаются).
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jun 27 2013, 18:50
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(zombi @ Jun 27 2013, 19:01) *
Как предлагаете проверить WDT?


Просто проверить(wdr не убираем):
Код
void main()
{
  EnableWdt();
  while (1) {
    if (WdtResetEnable()) // например какая надо нога в соответствующем состоянии
      asm("wdr");
    else
      while (1);
  }
}

Если программа сбрасывается на >100500 МК значит WDT работает(при соответстующих условиях).


Цитата(zombi @ Jun 27 2013, 19:01) *
Разрешая работу любого узла мк я обязательно должен убедиться в его работоспособности.

Это как бы обязательно. Но первый кандидат, почему программа не работает - это ваша программа. Но узлы МК тоже могут работать не так как задумывалось их разработчиками (xmega тому хороший пример).
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 27 2013, 19:30
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(_Артём_ @ Jun 27 2013, 21:50) *
Просто проверить(wdr не убираем):

Вы меня не поняли.
Разрешение/запрещение wdr путём опроса ноги или перекомпиляции проекта это не то.
Для полноценного теста работоспособности WDT и правильности расположения в программе команд wdr процессор должен именно подвиснуть и после этого сброситься именно от WDT.
Пишут : "часто зависают при воздействии помех по питанию и т.п."
Вот я и хочу как то воздействовать на питание или на т.п. с целью подвесить проц.
Как мне это сделать???



Цитата(_Артём_ @ Jun 27 2013, 21:50) *
Но первый кандидат, почему программа не работает - это ваша программа.

Разумеется.

Цитата(_Артём_ @ Jun 27 2013, 21:50) *
Но узлы МК тоже могут работать не так как задумывалось их разработчиками (xmega тому хороший пример).

Тогда я должен обязательно понять как оно работает/неработает, а без полного понимания этого писать программу просто не имеет смысла.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 14:52
Рейтинг@Mail.ru


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