Как программно перезагрузить ардуино через каждый час

Average Rating
0 out of 5 stars. 0 votes.

Всем привет, столкнулся с проблемой что из-за зависаний по не известным мне пока причинам перестаёт выполняться определённый код на ардуино. Кнопка ресет на микроконтроллере сразу приводит его в чёвство. Я много времени потратил на поиск фикса, но низкий скил в программировании ардуино не позволил мне это сделать. Поэтому на данном этапе я решил перегружать каждый час арудину. Для всех кто ищет готовое простое решение:

unsigned long time;

void setup() {
Serial.begin(9600);
time = millis();
}

void loop() {
if(millis() - time > 3600000){
Serial.print("reboot");
asm volatile("jmp 0x00");
}
}

Есть множество других решений программной перезагрузки, но они более сложные. Конечно будут случаи когда этот способ вам не подойдёт, тогда вам необходимо гуглить про watchdog.

Average Rating
0 out of 5 stars. 0 votes.