Polls

A quale categoria appartienni?

Visualizza risultati

Loading ... Loading ...
Seguimi su Facebook
Seguimi su Twitter
Categorie

Autoreset

Riavviare Arduino via software

Come eseguire un riavvio dello sketch via software

Avere la possibilità di riavviare l’esecuzione del programma può risultare utile nei casi in cui ci sia l’esigenza di ripristinare la board a una condizione iniziale certa, soprattutto quando si trova in una posizione non accessibile o remota.

Riavviare Arduino Ethernet via software

Sul sito Arduino.cc ho trovato una utile funzione che permette di far ripartire l’esecuzione del programma. Il codice che segua mostra come avviene il reset software e come il codice venga eseguito nuovamente.


int var= 0;

//Dichiarazione di funzione che punta all'indirizzo zero
void(* Riavvia)(void) = 0;

void setup()
{
  //inizializzo la seriale
  Serial.begin(9600);
  //avvio
  Serial.println("AVVIO");
  //attendo 1s
  delay(1000);

}

void loop()
{
  //incremento la variabile
  var++;
  //visualizzo sul serial monitor
  //il valore della variabile
  Serial.println(var);
  //attendo 5s
  Serial.println("Attesa");
  delay(5000);
  //reset via software
  Serial.println("Reset!!");
  Riavvia();

}

Continua a leggere

Arduino resettare automaticamente la scheda utilizzando il WatchDog Timer

Watchdog, come creare un sistema che auto resetti la scheda in caso di blocchi o attese infinite

Il watchdog è un sistema molto interessante atto a supervisionare il normale ciclo di istruzioni della cpu. L’idea è quella di monitorare l’esecuzione del programma; in caso di blocchi o cicli infiniti, che rischiano di mettere il microcontrollore in uno stato di inutilizzo, il watchdog interviene resettando il microcontrollore e riavviandolo automaticamente.

Questo meccanismo è solitamente implementato in hardware e, anche Arduino, basato sul microcontrollore ATMega328, supporta questa funzionalità

Arduino atmega328 watchdog timer

Continua a leggere