Watchdog en DUE

Hola a todos

Tengo un problema al querer utilizar el watchdog en mi arduino DUE.
La idea es dormirlo (por el consumo) y despertarlo con el watchdog con el prescaler en 8 segundos.

El problema llega que se tengo entendido tengo que utilizar:
#include <avr/wdt.h>
Pero al compilarlo me dice que no encuentra ese archivo.

Tengo que cargarlo de alguna manera como una libreria o hacer algo especial??
Lo normal, segun he leido es que no…

A ver si me podeis ayudar :slight_smile:

eso es para los AVR
mira este post

Alguien puede ayudarme entonces a un pequeño programa que duerma al arduino, espere los 8 segundos lo despierte y escriba cualquier cosa?

Vamos un programa de prueba de utilizacion del WDT

Estás seguro de que el DUE viene con el watchdog incorporado?

A q te refieres con incorporado?
El micro del due lo tiene, seguro.
Si te refieres a si tengo que incluir alguna librería es lo q no tengo claro

Yo me refiero a que en el UNO, por ejemplo, lo teníamos que agregar con un bootloader especial que nada tenía que ver con el original.

Leiste el enlace que te pasé? Te lo serví en bandeja y sigues hablando del watchdog AVR.
El DUE no es AVR es ARM. No te olvides. lógica diferente.

y que significa que sea logica diferente? que no tiene WDT?
LEi el post si, pero no me aclaro nada en verdad :frowning:

La arquitectura de un ARM no tiene nada que ver con la de un AVR. A eso me refería. De modo que no busques un watchdog al estilo UNO porque no lo hay. Tiene otras características.
En google (tal como dicen las normas) si pones :
Google: Arduino Due watchdog
tienes tus respuestas.

Solo para que veas que en 2 seg obtienes respuestas por tu cuenta te pongo otro enlace que confirma lo que ya te puse.
Arduino DUE watchdog

y el código

int counter = 0;

// Defines the time for the watchdog in ms
int watchdogTime = 1000;

// this function has to be present, otherwise watchdog won't work
void watchdogSetup(void) 
{
// do what you want here
}

void setup() 
{
  // Enable watchdog.
  watchdogEnable(watchdogTime);
  Serial.begin(9600);
}


void loop() 
{
  // Reset watchdog
  watchdogReset();
  Serial.println(counter);
  delay(500);
  if(counter >= 10)
  { 
    while(true)
    {
      Serial.println("loop");
      delay(100);
    }
  }
  counter++;
}