Lenguaje de programación de Arduino, estructura de un programa

Para programar un Arduino, el lenguaje estándar es C++, aunque es posible programarlo en otros lenguajes. No es un C++ puro sino que es una adaptación que proveniente de avr-libc que provee de una librería de C de alta calidad para usar con GCC en los microcontroladores AVR de Atmel y muchas funciones específicas para los MCU AVR de Atmel.

avr-binutils, avr-gcc y avr-libc son las herramientas necesarias para programar los microcontroladores AVR de Atmel.

AVR-libc reference manual de Atmel: http://www.atmel.com/webdoc/AVRLibcReferenceManual/index.html

Dispositivos soportados: http://www.atmel.com/webdoc/AVRLibcReferenceManual/index_1supp_devices.html

Webs del proyecto: http://www.nongnu.org/avr-libc/ y http://savannah.nongnu.org/projects/avr-libc/

Tratamiento de la memoria de la MCU por avr-libc: http://www.atmel.com/webdoc/AVRLibcReferenceManual/malloc_1malloc_intro.html

Módulos de avr-libc: http://www.atmel.com/webdoc/AVRLibcReferenceManual/ch20.html

GNU C libc: http://www.gnu.org/software/libc/index.html

GCC es un conjunto de compiladores que se considera el estándar para los Sistemas Operativos derivados de UNIX y requiere de un conjunto de aplicaciones conocidas como binutils que son unas herramientas de programación para la manipulación de código de objeto.

Cuando GCC está construido para ejecutarse en un sistema como Linux, Windows o mac OS y generar código para un microcontrolador AVR, entonces se denomina avr-gcc

avr-gcc es el compilador que usa el IDE de arduino para convertir el sketch en C++ a un fichero binario (.hex) que es el que se carga en la flash del MCU y que ejecuta.

Información sobre las binutils: http://www.atmel.com/webdoc/AVRLibcReferenceManual/overview_1overview_binutils.html

Proyecto GCC: https://gcc.gnu.org/

Pero para programar proyectos de complejidad media, la mayoría de los comandos que necesitemos con Arduino los encontraremos en la referencia de programación de Arduino en el “Arduino Reference”, que es donde debemos recurrir para cualquier duda de programación que surja. Arduino provee de unas librerías que facilitan la programación del microcontrolador. http://arduino.cc/en/Reference/HomePage

El gran éxito de Arduino en parte se debe a que nos permite programar un MCU sin tener que saber todo lo anterior y nos da unas herramientas sencillas y específicas para programar unos microcontroladores que suministra en sus placas.

Por ejemplo veamos las funciones que nos ofrece para comunicar por el puerto serie: http://arduino.cc/en/Reference/Serial

El lenguaje de programación usado por Arduino está basado en Processing: http://www.gnu.org/software/libc/index.html,  es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital.

Web del proyecto de Proccesing: https://processing.org/

Processing en github: https://github.com/processing/processing

Processing es útil cuando queremos comunicar Arduino con un ordenador y mostrar datos o guardar datos, pero también podemos usar otros lenguajes de programación como python, .NET o cualquier otro que conozcamos.

Arduino trae algunos ejemplos para trabajar con Processing en el apartado communication, por ejemplo, para hacer una gráfica de datos en http://arduino.cc/en/Tutorial/Graph

Ver el reference y la librería Serial de processing para darnos cuenta en la similitud de los lenguajes: https://processing.org/reference/ y https://processing.org/reference/libraries/serial/

También disponemos de una librería de Arduino dentro de processing que nos permite interactuar entre processing y arduino: http://playground.arduino.cc/interfacing/processing

Por supuesto Arduino se puede programar en otros lenguajes y desde otros entornos de programación, lo que va  a hacer que el código sea diferente. Cabe destacar scratch como un lenguaje visual que hace innecesario saber programación o Atmel Studio que es la herramienta que proporciona Atmel.

Más información en: https://aprendiendoarduino.wordpress.com/2014/11/20/tema-4-conceptos-basicos-de-programacion/

Como ya hemos visto, la estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen declaraciones, estamentos o instrucciones.

Anuncios

2 pensamientos en “Lenguaje de programación de Arduino, estructura de un programa

  1. Pingback: Curso Arduino Iniciación 2015 | sindofdez

  2. Pingback: PENSAMENTOS TECNOLÓGICOS | ortizwaldo

Los comentarios están cerrados.