Страница 1 из 1

Как ардуино нано заставить зависнуть?

Добавлено: 10 май 2018, 20:43
Vladislav+75
Как ардуино нано заставить зависнуть? Нужно чтобы протестировать сторожа (Модуль WDT)

Как ардуино нано заставить зависнуть?

Добавлено: 10 май 2018, 20:58
pony sonata
а без зависания чу wdt не потестить?
если атмеговский wdt - отключи в программе его сброс
если аппаратный на какой-нить микрухе отдельной - вытащи провод, который сбрасывает аппаратный wdt...

Как ардуино нано заставить зависнуть?

Добавлено: 10 май 2018, 20:59
pan
[ref]Vladislav+75[/ref], вставьте в ардуино ИДЕ строчку
delay(10000);

Как ардуино нано заставить зависнуть?

Добавлено: 10 май 2018, 21:43
Vladislav+75
pony sonata писал(а): 10 май 2018, 20:58а без зависания чу wdt не потестить?
если атмеговский wdt - отключи в программе его сброс
если аппаратный на какой-нить микрухе отдельной - вытащи провод, который сбрасывает аппаратный wdt...
Внешний модуль
9500120.jpg
Кинте проэкт как проверить без зависания.

Как ардуино нано заставить зависнуть?

Добавлено: 10 май 2018, 22:04
pony sonata
если внешний модуль - вырубите ногу wdt (по схеме) или сделайте рили делей громадный, как выше написали
pan писал(а): 10 май 2018, 20:59вставьте в ардуино ИДЕ строчку
delay(10000);
должен начать ребутать

Отправлено спустя 2 минуты 22 секунды:
вот программный wdt для 328 меги без части кода с обнулением. тоже должна ребутать, только уже с wdt, встроенным в саму мегу:
// include the library code:
#include <avr/wdt.h>
void setup() {
MCUSR = 0; // обнуление регистра
wdt_disable(); // запретили watchdog, что-бы не уйти в бесконечный ребут
wdt_enable(WDTO_4S);
}
з.ы. шить программатором. через загрузчик уартовский ардуино не проканает

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 14:05
Vladislav+75
pan писал(а): 10 май 2018, 20:59[ref]Vladislav+75[/ref], вставьте в ардуино ИДЕ строчку
delay(10000);
а как зделать чтобы она не сразу шла в зависание а работала а потом зависала.

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 14:22
pan
[ref]Vladislav+75[/ref], к своей программе, к коду в arduino ide добавьте пару строк

[spoiler]
unsigned long _time; // или любое другое имя переменной - эту строку в самый верх



void setup() {


_time = millis(); // эту строку любое место, в пределах void setup()

}

void loop() {




if( (millis() - _time)> 10000) // например ждем 10 секунд после включения / это втыкаем в любое место после строки void loop()
{ delay(10000);} // делаем "зависание"


}
[/spoiler]

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 14:36
Vladislav+75
Я с IDE не дружу .От Слова ВООБЩЕ. ЕСли можно готовый скетч. ПАЖАЛУСТА.

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 15:02
pan
откуда ж я вам готовый возьму. вы как WDT тестируете ? у вас же есть какой то проект в флпрог
вот после того как нажали
Изображение

откроется IDE , не важно что там будет, вникать не нужно, просто добавьте эти строки

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 15:25
Vladislav+75
Все скопировал что вы выложили всавил в IDE не загружается выдает ошибку.

Отправлено спустя 5 минут 26 секунд:
Можете мне зделать скеч где светодиод на 12 пине мигает с частотой 500 милисекунд 1 минуту а потом ардуино виснет ?

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 15:36
pan
[ref]Vladislav+75[/ref], не надо всё копировать. просто дописать строки

Отправлено спустя 7 минут 2 секунды:
простой генератор
[spoiler]Изображение[/spoiler]
жмем компилировать. открывается ИДЕ. там вписываем наши строки

Код: Выделить всё

bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;

unsigned long _time; //дописываем <--------

void setup()
{
pinMode(12, OUTPUT);

_time = millis(); // дописываем <--------

}
void loop()
{




//Плата:1
if (1) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;}
 if (_gen1I) {  if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}
digitalWrite(12, _gen1O);


if( (millis() - _time)> 60000) // дописываем <--------  60000 милисекунд - 1минута
{ delay(10000);}              //  дописываем <--------                                                                                     

}
bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
  }
вот готовый скетч с миганием на 12 пине и замиранием через минуту

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 16:35
pony sonata
Vladislav+75 писал(а): 11 май 2018, 14:36Я с IDE не дружу .От Слова ВООБЩЕ
"нафига козе баян" тогда? : )

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 16:42
Vladislav+75
Копирую вот что происходит
Безымянный 5.png
Отправлено спустя 2 минуты 33 секунды:
pony sonata писал(а): 11 май 2018, 16:35
Vladislav+75 писал(а): 11 май 2018, 14:36Я с IDE не дружу .От Слова ВООБЩЕ
"нафига козе баян" тогда? : )
Я не програмист. FLProg освоил немного. А вы родились таким спецом. или когда вы начинали вам кто-то помогал.

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 16:46
pan
[ref]Vladislav+75[/ref],
[spoiler]Изображение[/spoiler]

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 17:00
pony sonata
Vladislav+75 писал(а): 11 май 2018, 16:42 или когда вы начинали вам кто-то помогал
я не специалист и я стараюсь максимально прочитать и попробовать разобраться в вопросе, прежде чем что-то постить. к примеру на изиэлектрониксе я зарегался 2 месяца назад, хотя читаю его больше 2 лет : )

я просто к тому, что вы и сами себе можете зависон программный устроить или банально зафейлить с обнулением на лапе wdt и при зависшем мк в каком-нить цикле у вас все равно будет происходить сброс wdt и последний будет думать, что все хорошо
также неправильным использованием wdt можно и ошибок наделать...

з.ы. ваш вопрос напоминает "не до конца умею моргать светодиодом, научите в wdt", отсюда и подобный мой вопрос в постах выше : )

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 21:26
Vladislav+75
https://youtu.be/A54y-ewwTZ4
ну что я неправильно делаю.
Самое обидное что сам смог зделать проэкт Инкубатора на 70%. А тут не могу не чего делать Злости на себя нехвотает.

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 22:09
pan
[ref]Vladislav+75[/ref], вот воткните блок в свой любой проект

в параметрах время до зависания в миллисекундах

Как ардуино нано заставить зависнуть?

Добавлено: 11 май 2018, 22:48
Vladislav+75
спасибо огромное.

Отправлено спустя 15 минут 25 секунд:
pan писал(а): 11 май 2018, 22:09[ref]Vladislav+75[/ref], вот воткните блок в свой любой проект
Выстови зтот блк для всех. Очень полезный блок для тестирования сторожа . Я думаю что многим пригодится. :victory:

Как ардуино нано заставить зависнуть?

Добавлено: 12 май 2018, 00:07
whitevip
Отправлено спустя 21 секунду:
Vladislav+75 писал(а): 10 май 2018, 20:43Как ардуино нано заставить зависнуть? Нужно чтобы протестировать сторожа (Модуль WDT)



[ref]Vladislav+75[/ref], нужен реский скачек напрежение вниз с 5 до 2-3 вольт.

Как ардуино нано заставить зависнуть?

Добавлено: 12 май 2018, 19:43
Labu559
[ref]Vladislav+75[/ref],
Вариант с идеей от Ув. [ref=#ff8000]pan[/ref] с delay, но срабатывание по нажатии кнопки и установкой времени "задумчивости ардуино" в параметрах ПБлока. Копировать в свой проект из предоставленого. Удачи!