AVR Problema de programación

0

Recientemente soldé un ATMega328P en un paquete TQFP en un PCB que diseñé. Las conexiones parecen estar bien y no hay puentes. He usado tapas de desacoplamiento de 100 nF en los pines de alimentación. El pin RESET está conectado a + 5V a través de una resistencia de 10k. Yo uso el USBasp para la programación. Sin embargo, el AVR no responde al programador y avrdude emite el siguiente error:

avrdude.exe -c usbasp -p m328p

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.

¿Cuál podría ser el problema aquí? Se adjunta la imagen de la conexión, así como el diseño de la placa.

Además, tengo el mismo IC en un paquete DIP28, y ese parece funcionar bien.

EDITAR: Después de algunos retoques, encontré que el pin MISO estaba conectado a GND. El DMM mostró una resistencia de 1.1Ohms. Pero no veo ninguna forma posible de que se puedan acortar. ¿Puede sugerir algunas posibles razones y soluciones?

    
pregunta hacker804

2 respuestas

1

Lo descubrí. El Pin MISO fue cortocircuitado a tierra. Calenté el pin MISO en el cabezal 5x2 con un soldador y tal vez aflojó algo de soldadura y la conexión se rompió de GND. Funciona bien ahora. Puedo escribir código para hacer parpadear el LED y funciona bien.

Gracias a todos por su ayuda :)

    
respondido por el hacker804
0

Si el chip está en blanco de fábrica, saldrá de su oscilador interno lento. Tiene que reducir la velocidad del reloj en avrdude (o con un puente en el USBasp, dependiendo de la versión) durante la programación inicial hasta que cambie los fusibles para que la MCU funcione más rápido.

    
respondido por el filo

Lea otras preguntas en las etiquetas