¿Hay alguna manera de restablecer un arduino a la configuración de fábrica?

2

Intenté crear una biblioteca personalizada para que mi Leonardo funcione como un gamepad nativo, pero resulta que no es tan fácil como parece. Después de que obtuve un código del núcleo arduino y lo importé, todo se cargó bien, pero luego Windows dejó de reconocer el propio Arduino (ahora aparece como un dispositivo USB compuesto).

Ahora, ¿hay alguna forma de volver a borrar la configuración de fábrica de arduino sin necesidad de un programador externo o sin la necesidad de volver a escribir los controladores de arduino? Gracias de antemano.

    
pregunta TheMorfeus

1 respuesta

3

El gestor de arranque del Arduino no ejecuta inmediatamente el código de su aplicación. Más bien, mira el puerto serie para la secuencia de semáforo enviada por Avrdude. que a su vez se inicia por el proceso de carga IDE de Arduino después de la compilación. Donde Avrdude abriendo el puerto serial causará un reinicio del Arduino, como para atrapar el cargador de arranque al enviar el semáforo. Este proceso anterior debería funcionar. Independientemente de su código de aplicación.

Inmediatamente después de encender o reiniciar el leo, debería ver en su administrador de dispositivos un puerto COMM durante unos 5 segundos y luego desaparecer, reemplazándolo con su interfaz de juego. Esto hará lo mismo para el IDE cuando se cargue.

Si esto no ocurre, es posible que hayas borrado el cargador de arranque y la aplicación se esté ejecutando directamente. Tenga en cuenta que cuando el ISP programe la aplicación, el cargador de arranque quedará en blanco.

Es posible que la máquina de su IDE, su avrdude y el tiempo de Leo estén apagados y falten. Podría intentar restablecer manualmente el leo justo después de compilar y cuando se inicie avrdude. En las preferencias de IDE, puede activar el verboso para compilar y cargar para ver mejor cuándo reiniciar el leo.

Este fue el camino de los viejos Arduino de Bluetooth que no tenían el DTR del puerto Serial vinculado al reinicio del ATmega. Donde con el Leo, un reinicio remoto se desencadena por la apertura y cierre del puerto serie a 1200 baudios. Donde aquí puede ser posible que con una aplicación de controlador de juegos el puerto serie virtual CDC USB no se pueda abrir a 1200 baudios. Por lo tanto, como se indicó anteriormente, es posible que solo tenga que programar el reinicio.

    
respondido por el mpflaga

Lea otras preguntas en las etiquetas