Paso 10: Programa del microcontrolador
Para programar el microcontrolador, utilizo avrdude y el programador USBTinyISP.
- http://Savannah.nongnu.org/projects/AVRDUDE/
- http://www.Ladyada.net/make/USBtinyISP/
- http://www.Adafruit.com/index.php?main_page=index&cPath=16
Mis ejemplos estará en un sistema Ubuntu Linux. El procedimiento debe ser más o menos idéntico en Windows, pero no puedo ayudarte con eso. Si utilizas otro programador, leer manual de thet para aquel programador y avrdude.
En primer lugar, vamos a ver si podemos hacer contacto con el AVR.
Conectar el programador a su cubo y su equipo.
El comando es "avrdude - c usbtiny -p m16", wherer - c especifica el programador y -p el modelo AVR. Puede ver el resultado en las imágenes de abajo.
Ahora, cargar el firmware: "avrdude - c usbtiny -p m16 - U flash:w:main.hex".
Por ahora, el cubo debe reiniciar y empezar a hacer cosas. Ejecutará en 1mhz (muy lentamente) utilizando es oscilador interno. Y algunos de los LED no funcionarán, porque algunos puertos GPIO se utilizan para JTAG por defecto.
Para activar al oscilador externo y desactivar JTAG, necesitamos programar el fusible bytes:
ejecutar "avrdude - c usbtiny -p m16 - U lfuse:w:0xef:m"
y "avrdude - c usbtiny -p m16 - U hfuse:w:0xc9:m".
Tenga cuidado al hacer este paso! Si sale mal, puede destruir permanentemente su microcontrolador! Si usas otro microcontrolador que el ATMega16, asegúrese de leer cuidadosamente la hoja de datos antes de cambiar el fusible bytes!
Después de escribir los bytes de fusibles, el cubo debe reiniciar y empezar a operar a velocidad regular con todos los indicadores operacionales.
Disfrute de su nuevo cubo :D