Hola a todos
Quería comentarles que hace algunas semanas ya, comencé a dar mis primeros pasos con el hardware Arduino. Hasta ahora no había tenido problema alguno, pero al avanzar en mis pruebas, me he topado con 2 problemas puntuales que no he podido resolver.
1º - Error al grabar sketch mediante el grabador USBtinyISP.
El error aparece cuando quiero sobrescribir un sketch encima del otro. Por ejemplo: grabo el ejercicio Blink....(se graba correctamente) y a continuación quiero cargar el ejercicio fade (de los ejemplos que vienen con la IDE de programación ) y me aparece el siguiente mensaje:
avrdude: verification error, first mismatch at byte 0x0042
0xae != 0x8a
avrdude: verification error; content mismatch
Les dejo 2 imágenes para que vean de que les hablo.
Grabación del Sketch de manera correcta
Error de grabación
Alguien me podría aclarar de que se trata el error ?
2º - Problema de velocidad con el USBtinyISP - Como implementar solución en arduino :~
Luego de hacer algunas pruebas con mi placa Arduino, quedé impresionado al ver la lentitud con la que se cargaban los sketch usando USBtiny.
Cuando el tamaño del programa no supera los 1....3Kb no es problema ...tarda algunos segundos y ya tenemos nuestro programa corriendo en el microcontrolador. El problema se presenta cuando quiero grabar un programa que pesa entre 10 y 32Kb ...ahí tarda hasta 40 seg......totalmente inaceptable cuando se está haciendo depuración.....
La gente de http://www.ladyada.net/ nos dá una solución muy sencilla al problema: modificar la velocidad del programador mediante línea de comando.
You can use the -B option to specify the ISP speed. By default the value is 10 which means 100KHz clock, this is good for target clock speeds > 500KHz. If you want the high speed clockrate (400KHz) for target frequencies > 4MHz you can use "-B 1" to speed up programming
Como esto es muy impráctico para el usuario común...procedí a crear un script para ejecutar la modificación mediante un archivo .bat:
Para realizar el script, primero hay que abrir el Notepad de windows y escribimos lo siguiente:
avrdude -c usbtiny -B 1 -p m328p -u -U flash:w:Blink.hex
pause
El programa Blink.hex lo generé con el IDE de Arduino. Como estamos trabajando a 16Mhz>4Mhz (cristal que lleva la placa arduino)..no hay problemas en aumentar la velocidad de programación.
Con el Script el programador tardó 280 ms en grabar mi programa:
Con el IDE de Arduino , tarda 2.2 seg....una gran diferencia.
Para apreciar mejor el efecto del script...procedemos a grabar el bootloader de la placa arduino.
El bootloader pesa un poco más de 32K.....y tarda en grabarse...13.52 segundos.....
Con el IDE de Arduino, tarda 40 segundos.....casi 3 veces más...
Quería saber si hay alguna manera de implementar o integrar el script al IDE de arduino para poder cargar los sketch de manera más rápida
En fin esas son mis dudas....espero no haber sido demasido extenso
Un saludo !