Utilizo ATmel ATmega32U4 en un esquema que copia casi completamente a Arduino Leonardo . Por lo tanto, Caterina-Leonardo el gestor de arranque funciona bien con él.
Lamentablemente, me he quedado sin todos los pines de salida disponibles. Entonces, me pregunto si puedo usar el pin 22 ( TXLED , PD5) como salida digital adicional.
Como entiendo por muchos foros y preguntas y respuestas, como por ahí, tengo que crear un gestor de arranque personalizado. Agregué mi propia placa al Arduino IDE y construí un nuevo gestor de arranque a partir del código de Caterina (por lo tanto, el compilador y las bibliotecas LUFO funcionan bien), pero no tengo idea de cómo deshabilitar correctamente las señales TXLED y RXLED, para usar estos pines se imprimen correctamente (RXLED como el pin digital Leonardo número 17 y TXLED como el trigésimo primero).
Por otra parte, la placa utiliza USB (pines ATmega32U4 de 3 y 4) para la comunicación con la computadora (debe ser un dispositivo plug-and-play), enviando algunos datos a y para cargar nuevas versiones de croquis a través del IDE de Arduino. Así que necesito usar la funcionalidad USB y TXLED como pin de salida simultáneamente. (El pin de salida no conduce a la computadora, por si acaso).
Por favor, ¿puede decirme si este problema se puede resolver y, en caso afirmativo, cómo puedo hacer las cosas? ¿Qué debo cambiar en las fuentes del gestor de arranque (como caterina.h , caterina.c , descriptors.c etc.)?
Cualquier información útil sobre eso será altamente apreciada.
Pasé horas excavando el código del gestor de arranque y diferentes sitios web, pero finalmente fracasé. Por ejemplo:
Parece que el último tipo tuvo el mismo problema y lo resolvió con éxito, pero desafortunadamente no describió su solución y no adjuntó ninguna fuente.
Aquí está mi diagrama de circuito:
Habilité pull-ups internos en ROW1..ROW4 y quiero hacerlos BAJOS cuando se presiona el interruptor. Funciona bien con todos los STR, excepto el tercero.
El problema es que STR3 está conectado al pin 22 (TXLED).