errore mancanza libreria wdt

Buongiorno,
compilando il seguente sketch con arduino 1.5.8:

#include <TinkerKit.h>
#include <avr/wdt.h>
#include <Servo.h>

// creating the object 'relay' that belongs to the 'TKRlay' class 
// and giving the value to the desired output pin

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

TKMosFet relay0(O0);   
TKMosFet relay1(O1);   
TKMosFet relay2(O2);   
TKMosFet relay3(O3);   
TKMosFet relay4(O4);   
TKMosFet relay5(O5); 

int cycPin = 8;                 // cycle Pin connected to 8

Servo myservo00;
 
int pos = 0;
int finalPos=0;

String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;  // whether the string is complete

void setup() {
  // initialize serial:
  Serial.begin(9600);
  
  pinMode(cycPin, OUTPUT);      // sets the digital pin as output
  
  wdt_enable(WDTO_8S);
  //attendo comunicazione seriale
 // delay(10000);
 // Riavvia(); // wait for serial port to connect. Needed for Leonardo only
  
  // reserve 200 bytes for the inputString:
  inputString.reserve(200);
  
  myservo00.attach(11);
  if(myservo00.read()!=0)
  {
    myservo00.write(0);
  }
}

void loop() {
  // print the string when a newline arrives:
  if (stringComplete) {
    wdt_reset();
    if(inputString.startsWith("BTL",0))
    {
      String tmp = inputString.substring(3,6);
      finalPos= tmp.toInt();
    }
    if(inputString.equals("BTNCYC"))
    {
      digitalWrite(cycPin, HIGH);   // sets the LED on
      delay(200);                  // waits for 200 msecond
      digitalWrite(cycPin, LOW);    // sets the LED off
    }
    //finalPos = 180;
    mngRele1();
    mngRele2();
    mngRele3();
    mngRele4();
    mngRele5();
    mngRele6();
    //int i=inputString.length();
  }


}

/*
  SerialEvent occurs whenever a new data comes in the
 hardware serial RX.  This routine is run between each
 time loop() runs, so using delay inside loop can delay
 response.  Multiple bytes of data may be available.
 */
void serialEvent() {
  while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read(); 
    // add it to the inputString:
    inputString += inChar;
    if(inChar =='B')
    {
      inputString="";
      inputString += inChar;
    }
    // if the incoming character is a newline, set a flag
    // so the main loop can do something about it:
    //if (inChar == '\n') 
    if(inputString.length()>5)
    {
      stringComplete = true;
    } 
  }
}

void mngRele1()
{
  
  if(inputString.equals("BTN1ON"))
  {
    //relay0.on(); 
    //// clear the string:
    //inputString = "";
    //stringComplete = false; 
    for(pos = 0; pos < finalPos; pos += 10)
    {
      myservo00.write(pos);
      delay(1);
    }

    //myservo00.write(finalPos);

    inputString = "";
    stringComplete = false; 
  }
  else if(inputString.equals("BTN1OF"))
  {
    //relay0.off(); 
    //// clear the string:
    //inputString = "";
    //stringComplete = false; 
    
    for(pos = finalPos; pos>=1; pos-=10)
    {
      myservo00.write(pos);
      delay(1);
    }
    //myservo00.write(0);

    inputString = "";
    stringComplete = false; 
  }
}
void mngRele2()
{
  if(inputString.equals("BTN2ON"))
  {
    relay1.on(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
  else if(inputString.equals("BTN2OF"))
  {
    relay1.off(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
}
void mngRele3()
{
  if(inputString.equals("BTN3ON"))
  {
    relay2.on(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
  else if(inputString.equals("BTN3OF"))
  {
    relay2.off(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
}
void mngRele4()
{
  if(inputString.equals("BTN4ON"))
  {
    relay3.on(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
  else if(inputString.equals("BTN4OF"))
  {
    relay3.off(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
}
void mngRele5()
{
  if(inputString.equals("BTN5ON"))
  {
    relay4.on(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
  else if(inputString.equals("BTN5OF"))
  {
    relay4.off(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
}
void mngRele6()
{
  if(inputString.equals("BTN6ON"))
  {
    relay5.on(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
  else if(inputString.equals("BTN6OF"))
  {
    relay5.off(); 
    // clear the string:
    inputString = "";
    stringComplete = false; 
  }
}

mi da il seguente errore:
Arduino:1.5.8 (Windows 7), Scheda:“Arduino Due (Programming Port)”

FCommand141021.ino:2:21: fatal error: avr/wdt.h: No such file or directory
compilation terminated.
Errore durante la compilazione

Lo stesso sketch con l’IDE 10.1 ed arduino UNO funzionava correttamente.

Qualcuno sa dirmi cosa modificare per far funzionare anche questo?
Possibilmente senza mettere i file nella directory dello sketch.

Grazie

marionardo: Qualcuno sa dirmi cosa modificare per far funzionare anche questo? Possibilmente senza mettere i file nella directory dello sketch.

Non puoi usare la libreria "avr/wdt.h" sulla DUE perché il micro non è un AVR.

@MarioNardo, ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento: Regolamento - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

Risolto, ho usato la libreria advancedFeatures

Grazie a tutti
Mario

marionardo: Risolto, ho usato la libreria advancedFeatures

Grazie a tutti Mario

Bravissimo! ;)

ciao, non riesco a trovare la libreria advancedFeatures aiuto ho un arduino due e vorrei usare il watchdog.

grazie

@elfuse79: ... il cross-posting è [u]proibito[/u] da regolamento (anche tra diverse lingue) e tu hai posto la stesa domanda già QUI e anche QUI e ora anche in questo thread ! Per di più ti ho già indicato io quella libreria, quindi ... ?

Cortesemente decidi in quale thread vuoi continuare perché gli altri verranno chiusi ...

Guglielmo