PROGRAMAR MICROCONTROLADORES AVR MEDIANTE LÍNEA DE COMANDOS:
En ocaciones, nos topamos con la mala suerte de que algunas suites de programación y programas de grabación de microcontroladores atmel no soportan nuestro microcontrolador
Pero usando un poco el ingenio se pueden crear "mini aplicaciones" de consola para grabar nuestro microcontrolador, sin necesidad de un programa dedicado a ello.
La forma de hacerlo será creando
aplicaciones .bat
Sino saben lo que son este tipo de aplicaciones, lo pueden ver aquí:
http://es.wikipedia.org/wiki/Batch
Para poder usar este método debemos tener instalado en nuestra PC, el programa
AVRDUDE. A través de esta aplicación podremos comunicarnos con el hardware de programación del cuál dispongamos para grabar nuestros microcontroladores.
Se puede descargar desde su página oficial:
http://www.nongnu.org/avrdude/
******************************** // ********************************
Lo primero que haremos será ir a
inicio>ejecutar: CMD
Luego escribimos en la línea de comandos:
AVRDUDE
En nuestra pantalla nos tendría que aparecer lo siguiente si hemos seguido los pasos correctamente:
Ahora en nuestra línea de comandos escribimos lo siguiente:
avrdude -c asdf, este comando nos dará una lista de todos los programadores soportados por la aplicación, además de una breve descripción de cada uno.
Personalmente usaré como programador el USBtinyISP, que soporta la mayoría de los microcontroladores AVR programables mediante ISP.
Para ver los microcontroladores soportados por nuestro programador escribimos lo siguiente en la línea de comandos:
avrdude -c usbtiny
Como podemos apreciar , el usbtiny, soporta la mayoría de los microcontroladores AVR con ISP
Ahora que ya nos hemos familiarizado con el entorno de AVRDUDE, procederemos a crear una pequeña aplicación de prueba.
En mi caso escribí un pequeño programa para hacer titilar un led cada 250 ms:
Código:
/*************************************************
PROGRAMAS DE EJEMPLO PARA EL ATtiny2313 - 20PU.
EJERCICIO Nº 1: LED
PROGRAMADOR: Moyano Jonathan.
Fecha: 2011.
Programa: Enciende y apaga un LED conectado al
puerto PB0 del microcontrolador.
Cristal: 12Mhz.
Programador: USBtinyISP.
************************************************/
#include <avr/io.h> // Definiciones de hardware.
#include <util/delay.h> // Librería para generar retardos.
// Led conectado al PIN PB0 del micro.
#define LEDPIN 0
int main(void)
{
DDRB = 0x1F; // PB0-PB4 salidas.
PORTB = 0x00; // Ponemos todas las salidas a 0.
while(1) // Loop infinito.
{
PORTB |= _BV(LEDPIN); // LED prendido.
_delay_ms(250); // Espera 250ms.
PORTB &= ~(_BV(LEDPIN)); // LED apagado.
_delay_ms(250); // Espera 250ms.
}
}
El programa fue desarrollado y compilado en AVR - GCC, usando la IDE WinAVR
Una vez escrito y compilado el programa, tenemos que dirigirnos a la carpeta donde se encuentran los archivos
.hex que haya generado el compilador.
Ya tenemos todos los elementos necesarios para poder grabar nuestro microcontrolador. El siguiente paso es conectar nuestro microcontrolador al programador y este último al puerto USB de la PC.
Una vez conectado todo procedemos a crear nuestro archivo
.bat con el cuál grabaremos la memoria del microcontrolador.
Para poder crear el archivos abrimos una ventana de bloc de notas y escribimos lo siguiente:
avrdude -c usbtiny -p t2313 -u -U flash:w:LED.hex
pause
Una vez que escribimos el programa en el bloc de notas , lo guardamos con extensión .bat en la carpeta donde está el proyecto:
Por último hacemos clic sobre nuestro programa de grabación y nos tendría que aparecer la siguiente ventana:
Espero les sirva este minitutorial