¿Puedo ejecutar un programa, en un ATtiny85 con un cargador de arranque micronucleus, sin conexión USB?

1

He conseguido poner el cargador de arranque micronucleus en un ATtiny85. Al usarlo, puedo cargar exitosamente programas a mi ATtiny a través de USB y se ejecutan como deberían, siempre y cuando estén conectados a USB. Cuando solo conecto el Tiny a + 5V y GND, no ejecuta el programa. ¿Cómo puedo cambiar eso? ¿Cómo puedo hacer que mis programas se ejecuten incluso sin conectar el ATtiny85 a USB?

    
pregunta Calin

2 respuestas

0

Entonces, para hacer que el ATtiny funcione incluso después de desconectarlo del USB, debe dejar el pin 3 (PB3) en el ATtiny conectado a + 5V a través de una resistencia pull-up.

    
respondido por el Calin
2

El gestor de arranque debe salir y ejecutar el programa de usuario después de 6 segundos si el USB no está conectado. Si eso es demasiado lento, puede recompilar con un retraso más corto, o configurar AUTO_EXIT_NO_USB_MS > 1.

Si el programa de usuario no parece estar ejecutándose después del período de espera, es probable que tenga algún otro problema. Tal vez su programa tenga un error que impide que funcione correctamente si el cargador de arranque no se comunica primero con el puerto USB (verifique si las variables no están inicializadas, los registros de hardware no están configurados en estados definidos, etc.).

También, si la placa está alimentada por el puerto USB cuando está enchufada, asegúrese de que su fuente de alimentación externa sea lo suficientemente buena como para funcionar de forma independiente.

(en bootloaderconfig.h)

/*
 * Define bootloader timeout value. 
 * 
 *  The bootloader will only time out if a user program was loaded.
 * 
 *  AUTO_EXIT_NO_USB_MS        The bootloader will exit after this delay if no USB is connected.
 *                             Set to 0 to disable
 *                             Adds ~6 bytes.
 *                             (This will wait for an USB SE0 reset from the host)
 *
 *  AUTO_EXIT_MS               The bootloader will exit after this delay if no USB communication
 *                             from the host tool was received.
 *                             Set to 0 to disable
 *  
 *  All values are approx. in milliseconds
 */

#define AUTO_EXIT_NO_USB_MS    0
#define AUTO_EXIT_MS           5000

 /*
    
respondido por el Bruce Abbott

Lea otras preguntas en las etiquetas