Programación de AVR con Arduino, AVRdude y AVR-gcc (3 / 7 paso)

Paso 3: La programación

Un chip AVR se puede programar de varias maneras diferentes.

  1. Instalar el Arduino Bootloader para usar el IDE y lenguaje
  2. Utilice montaje. Aunque esto puede ser muy difícil de leer y escribir, puede ser muy eficiente.
  3. Estudio de Atmel de IDE oficial de uso Atmel, pero sólo está disponible en Windows, no Linux o Mac
  4. Crear programa en su favorito C o texto editor luego compilar y flash con avr-gcc y avrdude.
    Esto ofrece un buen compromiso entre legibilidad y eficacia así como trabajar en todas las plataformas.

Detallaré la cuarta y última opción.
Muchos editores trabajará para ello, que ser simplemente escribiendo un programa en C: Eclipse, notepad ++, vi, así como muchos más.

Por favor descargue el archivo adjunto led_flash.c y makefile.

Usé un ATTiny 85 para este proyecto.

En primer lugar explicaré el código.

La primera línea de código es:

Esto importa las constantes relativas a su chip AVR en el programa. Cuando se compila el programa, usted debe especificar el tipo de chip AVR que utilizas.

La siguiente importación:

Esto incluye la función para pausar la viruta durante el bucle.

A continuación se presenta algunas definiciones:

Define macros para cambiar la luz arriba y abajo de la cadena por un paso.

Define macros para definir un registro entero de la salida y la primera luz.

Estas definiciones esencialmente crean macros por lo que no necesitamos usar el código en el final más adelante. Puede permitir el código mucho más legible que antes.

Establecer el registro para todos 1 en binario hace que todos los pernos al ser una salida, en lugar de entrada.
El puerto entonces establece el valor del pin para alta o baja.

Puerto << 1 cambia de puesto el pin habilitado por 1 lugar. Puerto >> 1 se mueve en la dirección opuesta.

Dos funciones que permiten la fácil prueba de if los pasadores primeros o últimos se utilizan actualmente por las luces.

Una vez más, esto hace el código más adelante más legible.

Esta es la parte principal de nuestra función. La función int Main se llama a cuando arranca el chip. Primero habilitamos el registro B que todas las salidas. Entonces prendió la luz primera y declarar un valor boolean que recuerda qué dirección ir. Cada retraso primer bucle.2 segundo, a continuación, comprueba si la dirección tiene que cambiar. Finalmente cambia la luz en la dirección dada y se repite el bucle.

Eso es todo! el programa final se abstrae un poco para permitir que sea fácilmente legible.

Hasta próximo: El makefile para automatizar la recopilación y proceso de flasheo

Artículos Relacionados

Programación un Attiny con Arduino IDE

Programación un Attiny con Arduino IDE

Attinys son una gran manera de reducir su proyecto de arduino. Recientemente intenté siguiendo este gran instrucciones desde el sitio web de alta tecnología bajo pero parece como su fuera de fecha. Tienen algunos tutoriales y si no tienes un programa
Programación AVR con Arduino como ISP sin gestor de arranque y cristal externo

Programación AVR con Arduino como ISP sin gestor de arranque y cristal externo

Hola!!. Soy Avra y este es mi primer instructable. Aquí voy a explicar cómo grabar códigos en independiente AVR ICs sin usar cualquier USBASP, cualquier cristal externo y cualquier gestor de arranque. Sólo necesitas una placa de Arduino. Puede ser or
ATtiny programación con Arduino

ATtiny programación con Arduino

después de este Instructable podrá programar una A Ttiny85/45 con un arduino. Puede sonar complejo pero realmente no lo es. Después de hacer algunas investigaciones no he podido encontrar mucha información sobre cómo esto podría hacerse. Sin embargo
ESP8266 ESP-12E NodeMCU v1.0 con Arduino IDE en registrador de temperatura inalámbrico de programación

ESP8266 ESP-12E NodeMCU v1.0 con Arduino IDE en registrador de temperatura inalámbrico de programación

A finales de 2014 y 2015 temprano, su vino realmente a través deeste ingenioso ESP8266 de Chip WiFi (ESP-01) y a la batalla entre la documentación inconsistente de diversas fuentes. Para el momento del estímulo, él documentó sus frustraciones (result
Programación con arduino: Introducción

Programación con arduino: Introducción

Progduino es un programa gratuito para los usuarios de Arduino. Progduino construido para ayudar a los usuarios de Arduino que desean construir su propio software de computadora que podría comunicarse con Arduino en una forma realmente sencilla.Entra
Programar Chips ATtiny con Arduino

Programar Chips ATtiny con Arduino

A veces un Arduino simplemente no es apto para el trabajo. En los tiempos cuando necesite algo más pequeño, más simple y más barato, es mejor usar un microcontrolador AVR. Atmel posee una línea de Attiny chips que vienen en varios tamaños, dependiend
Utilizando el escudo programación 8Pin ATTINY con un reloj externo

Utilizando el escudo programación 8Pin ATTINY con un reloj externo

Instructables autor extraordinario Randofo creada un gran escudo de programación para usar el Arduino para programar 8 procesadores ATTINY de pin. Era aún lo suficientemente generosa como para dar 50 copias de él hacia fuera a la gente que es autor d
Configurar la programación de AVR en OS X usando Eclipse

Configurar la programación de AVR en OS X usando Eclipse

Algún tiempo atrás he conseguido configurar Eclipse para programación en Windows 8 y Ubuntu AVR. No ser un experto en programación, ni en electrónica, tengo que admitir que me pareció desafiante.Ahora quería configurar Eclipse para AVR nuevo en OS X
Programa un ATtiny con Arduino

Programa un ATtiny con Arduino

siguientes son instrucciones de programación de los microcontroladores ATtiny utilizando el IDE de Arduino. En inglés llano, esto es cómo programar chips Atmel de 8 pines como lo haría normalmente un Arduino. Esto es cool porque el ATtiny es minúscul
Libretita: una bajo costo, modular, compatible con Arduino plataforma educativa

Libretita: una bajo costo, modular, compatible con Arduino plataforma educativa

Para mis clases de soft-circuito, hemos estado utilizando un circuito de Attiny85 preprogramado (), o el más caro de compatible con Arduino Lilypad USB. Quería algo entre esos dos extremos que serían:Fácil de construir por los principiantesDe bajo co
Paraguas LED con Arduino

Paraguas LED con Arduino

el paraguas del LED con Arduino combina un paraguas, una matriz de LED 8 x 10 y un microcontrolador Arduino para crear un controlable, programable LED experiencia en la intimidad de su propio paraguas. Este proyecto fue inspirado por la cobertura elé
Programar un ATtiny44/45/84/85 con Arduino

Programar un ATtiny44/45/84/85 con Arduino

Este tutorial da proporciona los pasos para configurar, programar y probar un ATtiny44/45/84/85 con un Arduino. También proporciona algunas explicaciones sobre el funcionamiento interno de virutas del AVR en general.Paso 1: AVR y ISP explicó Muchos t
Cómo grabar bootloader optiboot en Atmega8 con Arduino IDE 1.6. x y 1.5

Cómo grabar bootloader optiboot en Atmega8 con Arduino IDE 1.6. x y 1.5

Utilicé el antiguo bootloader NG, pero tengo algunos problemas con él. Tarda unos 8 segundos para empezar Atmega y pegado a veces. Cuando quise grabar optiboot, recibo el mensaje:tipo de memoria "efuse" no definido para parte "ATMEGA8"
Doctor Who destornillador Sonic con Arduino de metal

Doctor Who destornillador Sonic con Arduino de metal

Cómo hacer un destornillador sonic personalizado de aluminio con Arduino dentro de la máquina /.Este Instructable documenta la creación de dos destornilladores Sonic personalizados para dos personas muy especiales en mi vida. Son enormes hacerctor qu