¿Por qué recibo el error: "'WDRT' no se declaró en este alcance" al intentar encender WDT en mi AVR?

0

Estoy borrando el indicador de reinicio del sistema Watchdog en mi ATMEGA168 después de un reinicio de WDT ...

... usando el código ...

MCUSR &= ~_BV(WDRT);

... pero el compilador se queja ...

  

'WDRT' no se declaró en este ámbito

¿Qué estoy haciendo mal?

    
pregunta bigjosh

1 respuesta

3

Hay un error tipográfico (¡dos veces!) en la hoja de datos.

El bit relevante se llama WDRF en el archivo de encabezado ...

#define MCUSR   _SFR_IO8(0x34)
#define PORF    0
#define EXTRF   1
#define BORF    2
#define WDRF    3

... que es consistente con los nombres de las otras banderas en ese registro.

El código para borrar el indicador de reinicio del sistema Watchdog debería leer ...

MCUSR &= ~_BV(WDRF);
    
respondido por el bigjosh

Lea otras preguntas en las etiquetas