Hasta ahora pude reprogramar un circuito con un ATMEGA48PA sin problema. Hasta que obtuve (después de que aparentemente se programó con éxito):
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x19 != 0x00
avrdude: verification error; content mismatch
Ahora, cada vez que intento programarlo, obtengo:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
En ese último programa fallido (el que tiene el error de verificación) bajé el pin de reinicio manualmente. ¿Podría eso haber hecho tanto daño? Según mi multímetro, el PIN de restablecimiento se activa de forma predeterminada (por lo que se supone que todavía está configurado como restablecido).
Puede fusionar la interfaz ISP de Atmega48 si corrompe el flujo de datos de programación entrante, pero sería muy difícil de hacer. Aunque, lo he visto suceder con flujos de bytes desplazados que podría haber causado su anulación manual de la línea de reinicio (pero aún muy poco probable).
También es posible que el USBASP necesite una actualización de firmware (como sugiere el mensaje de advertencia) o simplemente necesite volver a actualizarse. Es decir, simplemente tuviste mala suerte con tu tiempo y realmente esta es una falla no relacionada en el USPASP.
avrdude es terrible para depurar problemas de comunicación de programación. Es mejor usar AVR Programmer (parte de AVR Studio) para esto.
Para conocer el procedimiento de diagnóstico general, consulte esta pregunta:
Activación de la protección contra cortocircuitos avrispMKII al programar
ratones
ratones
leon heller
Capcom
Eduardo
Eduardo
Eduardo
Vokilam