Un enfoque avanzado de programación de Arduino y AVR (2 / 7 paso)

Paso 2: Cuál es la diferencia entre núcleo AVR y Arduino

Esta es la primera pregunta básica para aquellos que son relativamente nuevos en materia de Arduino/AVR...

AVR:

Bueno, AVR es una familia de microcontroladores de "Microcontrolador ATMEL"

Como una familia contiene muchos de los miembros, la familia AVR también contiene diferentes tipos de microcontroladores. Todos ellos tiene arquitectura de Havard. Son microcontroladores de 8 bits. (Hay 32 bit AVR virutas también).

AVRs se pueden clasificar principalmente en tres grupos

1) tinyAVR. (pincount inferior con espacio inferior de programación)

megaAVR 2). (con espacio de programación medio)

xmegaAVR 3). (mayor espacio de programación con algunos extendida características como "DMA").

Así que hay muchos chips en estos 3 grupos.

Como por Ex-.

ATmega8/Atmega16/Atmega32/Atmega328 son todos los diferentes miembros de familia de la mega con unas características un poco diferentes unos de otros.

Para decir, Atmega328p tiene 32 k flash / 1k EEPROM / 2k de SRAM que Atmega8 tiene 8 k flash/512 bytes EEPROM / 1K de SRAM, aunque ambos tienen mismo no de pincount(28).

Por otra parte Atmega32 ha también 32k flash como Atmega328p pero con mayor pincount(40).

ATTINY45 es un microcontrolador popular de familia tinyAVR con solo 8 pines y con 4 k flash/512 bytes EEPROM y SRAM.

Así que tienes que elegir el que microcontrolador según su circuito necesita. Como si quieres parpadear un LED solo, luego ATTINY45 es perfecto pero si usted desea conducir un complejo LCD 128 x 64 como 20 x 4 entonces usted debe elegir mega8/328/32.

Este microcontroladores son chips en blanco sin nada programado en su flash/gestor de arranque. Ahora ¿Qué carajos es bootloader? Voy a comentar más adelante.

Tienes que diseñar un circuito de potencia adecuada para alimentarla, suministrar el reloj con el fin de ejecutarlo. También necesita a algún tipo de programadores para grabar programas en ellos.

Puede ser programados de diferentes formas, lo veremos en los próximos pasos cómo se puede hacer. También necesita a algún tipo de IDE donde puede escribir el programa. WinAVR es un IDE. También estudio de Atmel es otro IDE para escribir programas para microcontroladores de Atmel.

Vamos a elegir WinAVR para programar los microcontroladores core.

ARDUINO:

Podemos decir que Arduino es plataforma (incluyendo hardware y software) principalmente usada para prototipado. La gran ventaja de arduino es que se trata de un «código abierto».

Bueno, creo que tengo que enfocar más luz sobre esto... porque aquí viene la principal diferencia entre el AVR y Arduino

Por ejemplo, Arduino UNO rev3 es una tarjeta que contiene un microcontrolador AVR y todos los periféricos necesarios para que funcione igual como dije antes, la fuente de alimentación, circuito etc. del reloj. El microcontrolador utilizado aquí es una Atmega328p.

También hay un "arreglo" para programar el mega328p sin un programador de a bordo. Ahora ¿Cuál es el arreglo???

Hay un simple convertidor de USB a Serial en junta por la que se puede programar el mega328p. Pero cómo??? Aquí es donde, viene el "bootloader".

"bootloader" es un pequeño programa situado en una zona particular de flash del microcontrolador. Cuando el chip es reiniciar/encendido, el chip primero entra en el gestor de arranque (esta actividad también debe ser programada mediante el fusible bits) y ejecuta el código escrito en él. Pero cómo el código es capaz de programar la viruta sí mismo???

Decir, el código está escrito de tal manera, que espera para que los bytes de programación llegar desde la USB al convertidor Serial. Cuando programación bytes recibidos, almacena los bytes en la flash de programa y cuando todos los bytes recibidos, se reinicia a sí mismo y se ejecuta el código que recién se escribe en la flash de programa.

Pero surge una pregunta ahora después de la programación, si el mega328p es arrancar desde la flash de programa (evita el gestor de arranque), entonces ¿cómo puede ser programado en el próximo ciclo??

La respuesta es bastante simple, la mega328p nunca salta para comenzar la ubicación del programa flash primero. Siempre salta a la sección del cargador de arranque primero y esperar un tiempo para la llegada de databytes vía puerto serial. Si llegan datos dentro de la timeperiod, entonces comienza a programar a sí mismo como antes, si los datos no ha llegado dentro del tiempo determinado, entonces deja la sección del cargador de arranque y comienza la ejecución de código de flash de programa.

El byte enviando secuencia es conocido por el gestor de arranque y la ArduinoIDE.This es como funciona la programación de arduino sin la ayuda de un programador.

PERO...

Para grabar el bootloader en flash de AVR, algún tipo de programador (ya sea URL/ISP) debe ser utilizado por primera vez. Aquí es donde viene la necesidad de los programadores independientes.

Ahora sobre el IDE de arduino.

En el IDE de Arduino, hay muchas clases de tarjetas para elegir. Cada tarjeta utiliza diferentes tipos de microcontroladores. Como la ONU rev3 board utiliza Atmega328p.The mega2560 usos Atmega2560 etc. etc..

Luego viene otra parte emocionante de la Arduino." La biblioteca". Las bibliotecas son programas a diferentes módulos del microcontrolador (como TWI, SPI, puerto, etc) o a otro Hardware externo como LCD, motor paso a paso, diferentes tipos de sensores y muchos otros. Para que el microcontrolador funcione, tienes que escribir algunos códigos nominales utilizando las funciones de la biblioteca existente. También el lenguaje utilizado en el IDE de Arduino es C y C++. Pero no tienes que interactuar directamente con el hardware de lo atmega. Estas son atendidas en el fondo. Los comandos son mucho más simples que usando 'C'. Programo el chip atmega en dos diferentes IDEs más adelante.

Por otro lado, si tienes programar un núcleo AVR con Winavr o tal otro C basado en IDE, entonces tienes que saber la correcta arquitectura, hardware, módulos del microcontrolador y entonces sólo se puede programar. Pero ¿por qué uno iría en tal coplexity??? Esta es una cuestión de millones de dólares...

¿Te has sentido, que sólo utiliza de otro escrito código y funciones y no se puede modificar según sus necesidades o eres incapaz de ver cómo funciona el programa total en el fondo o te has sentido la necesidad de la ejecución de código línea por línea???

Si te has sentido alguno de los anteriormente mencionados, entonces su tiempo para escribir el núcleo ' C'code para ti AVR.

También si quieres dar rienda suelta a la potencia de la programación de AVR core nivel bajo con su propio escrito el código de la biblioteca y desea modificar los códigos según sus necesidades y paralelamente una mejor comprensión de su código todo... entonces se debe jugar con programación de AVR core.

Espero que he despejado tus dudas sobre la materia de Arduino y AVR. Llegado el momento de un break antes de entrar en la siguiente sección...

Artículos Relacionados

Programación de Arduino IDE

Programación de Arduino IDE

Aquí están los pasos a seguir para la programación a bordo de p32 chipKit utilizando el IDE de Arduino.Paso 1: Asegúrese de instalar MPLAB X IDE y X32 compilador antes de pensar de la programación en Arduino IDE.Paso 2: Instalar el IDE de Arduino 1.6
Control de las estructuras utilizadas en la programación de Arduino

Control de las estructuras utilizadas en la programación de Arduino

Nos proporcionará información sobre el uso y la función de la estructura de control utilizada en la programación de Arduino.Más información: http://www.robimek.com/arduino-programlamada-kullanilan-kontrol-yapilari/Paso 1: ' İf, if else, else' estruct
Un ATTiny13A de programación utilizando Arduino y servo intérprete

Un ATTiny13A de programación utilizando Arduino y servo intérprete

así que ahí estaba, navegando eBay, buscando algunas ofertas baratas en chips Atmel cuando me topé con un par de chips ATTiny13 por £2.50. Sólo tenía que tenerlos! Después de todo, ¿qué tan difícil puede ser?Necesitaba un pequeño chip para leer señal
Inalámbrico de programación de Arduino

Inalámbrico de programación de Arduino

he estado construyendo robots hace unos años y una de las cosas que he encontrado más frustrante durante pruebas y depuración. Siempre parece que hay una necesidad de un cable USB que se puede conseguir de la manera y limitar la distancia que tu robo
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
Escudo de programación de Arduino AVR

Escudo de programación de Arduino AVR

Necesita una manera rápida y fácil programa AVR virutas. ¿Sabías que puedes usar el Arduino y el IDE de Arduino? Este escudo Arduino hace el proceso mucho más fácil.Puedes:Quemar un bootloader en un reemplazo Atmega328 para su UNO.Hacer un proyecto i
ESC de programación de Arduino (Hobbyking ESC)

ESC de programación de Arduino (Hobbyking ESC)

hola comunidad,Voy a mostrarte, cómo programar y utilizar el ESC Hobbyking. Acabo de encontrar unos información y tutoriales, que realmente no me ayudan mucho, así que decidí programar un boceto propio, que es muy sencillo de comprender.Importante sa
Cableado LCD paso a paso (modo de 4 bits) y ejemplos de programación para Arduino

Cableado LCD paso a paso (modo de 4 bits) y ejemplos de programación para Arduino

esta instructable le chipset LCD pantalla guía al usuario paso a paso en cableado y programación de un HD44780 de Hitachi (o compatible) un Arduino, utilizando la librería LiquidCrystal. Se proporcionan ejemplos de programación para todas las llamada
Escudo de programación de Arduino Attiny

Escudo de programación de Arduino Attiny

Un Attiny es una gran alternativa para el atmega328, es para aquellos proyectos que necesitan pocos pines GPIO y ser portátil. Pero a diferencia de la atmgea328 el attiny no se conecte a una placa Arduino y programarse. Otra forma sería utilizar un b
Programación un Arduino de frambuesa Pi

Programación un Arduino de frambuesa Pi

Aprenda cómo instalar el IDE de Arduino en la Raspberry Pi para que pueda escribir y subir programas a un Arduino.Elementos necesarios:1 x frambuesa Pi1 x ArduinoAdemás, lo cables son necesarios como USB para Arduino.Paso 1: Instalación/configSuponie
Comprobar la salubridad del módulo Bluetooth HC-05 sin ninguna programación o arduino

Comprobar la salubridad del módulo Bluetooth HC-05 sin ninguna programación o arduino

este instructable es dar idea de cómo verificar rápidamente el módulo de Bluetooth antes de comenzar cualquier proyecto así que usted puede estar muy seguro sobre la salubridad del módulo.Este método, compruebe el módulo incluyen la sanidad de los pi
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
Programación de tensión AVR alta (rescate de fusibles)

Programación de tensión AVR alta (rescate de fusibles)

Hace un año me reinicia una de mis antiguas pasiones - electrónica. He estudiado electrónica en la Universidad pero eso sucedió durante la edad media (hace 20 años). Mientras esperaba este salto enorme en esquemas y lo que un aficionado puede hacer h
Mejora de programador de Ghetto programación todos los chips AVR

Mejora de programador de Ghetto programación todos los chips AVR

hice un programador de ghetto con la ayuda de la real elliot instructableel verdadero programador elliotspero pensé que era útil tener sólo 1 programador para todos lo attiny que quería programar, así hice, y aquí están las fotos.la primera imagen mu