En Arduino Mega, el cargador de arranque no funciona cuando el watchdog está deshabilitado

1

En Arduino Mega (ATMEGA2560), cuando habilité las interrupciones, el watchdog se desbordó, por lo que el chip se reinicia cada vez que el contador del programa alcanza la línea de activación de interrupciones.

Así que intenté deshabilitar el watchdog, configuré WDTCSR_WDCE en 1 y WDTCSR_WDE en 1, y después de configurar todos los WDTCSR en 0.

Pero cuando hice esto, me di cuenta de que mi pin de reinicio ya no funciona. Ahora, cuando hago clic en él, simplemente no ocurre nada y no puedo cargar un nuevo .hex en el chip.

Volví a quemar el cargador de arranque usando ICSP, pero el problema sigue ocurriendo.

Por lo tanto, ¿cómo puedo solucionarlo?

    
pregunta Rego

2 respuestas

1

Mi experiencia es que se proporcionaron 2560 gestores de arranque en Arduinos (hace al menos 2-3 años). Watchdog no está deshabilitado en el cargador de arranque y debido a que el temporizador de vigilancia no se reinicia en un reinicio sin ciclo de energía, el reinicio del watchdog causa un reinicio permanente en el cargador de arranque debido a un tiempo de espera para la posible carga. Puede demostrar que el programa principal se inicia después del ciclo de alimentación, pero no cuando el reinicio obliga a reiniciar.

Se corrigió la carga del cargador de arranque sin errores.

    
respondido por el TMa
0

Un Arduino Mega tiene 2 MCUs. ¿Cuál de los fusibles cambiaste? ¿Cuál programaste con el ICSP?

Intente revertir las cosas a sus valores predeterminados; Encienda la pequeña MCU (lado USB) y programe sus fusibles correctamente. Verifique los fusibles de AtMega2560 y revertirlos a valores predeterminados también. Tenga cuidado, ya que los fusibles de programación pueden dañar una MCU y, a continuación, necesita una programación de alto voltaje para reactivarlos.

    
respondido por el nvd

Lea otras preguntas en las etiquetas