jueves, 6 de agosto de 2015

[Lenguaje Arduino 02] Estructura general de un sketch

En esta publicación veremos la estructura general de un Sketch y también aclararemos unos pequeños detalles muy importantes que se usan siempre en la programación.

Un programa diseñado para ejecutarse sobre un Arduino (un “sketch”) siempre se compone de tres secciones: 
  1. La sección de declaraciones de variables globales: ubicada directamente al principio del sketch. 
  2. La sección llamada “void setup()”: delimitada por llaves de apertura y cierre.
  3. La sección llamada “void loop()”: delimitada por llaves de apertura y cierre.
La primera sección del sketch (que no tiene ningún tipo de símbolo delimitador de inicio o de final) está reservada para escribir, tal como su nombre indica, las diferentes declaraciones de variables que necesitemos. En un apartado posterior explicaremos ampliamente qué significa todo esto.

En el interior de las otras dos secciones (es decir, dentro de sus llaves) deberemos escribir las instrucciones que deseemos ejecutar en nuestra placa, teniendo en cuenta lo siguiente:
  • Las instrucciones escritas dentro de la sección “void setup()” se ejecutan una única vez, en el momento de encender (o resetear) la placa Arduino.
  • Las instrucciones escritas dentro de la sección “void loop()” se ejecutan justo después de las de la sección “void setup()” infinitas veces hasta que la placa se apague (o se resetee). Es decir, el contenido de “void loop()” se ejecuta desde la 1ª instrucción hasta la última, para seguidamente volver a ejecutarse desde la 1ª instrucción hasta la última, para seguidamente ejecutarse desde la 1ª instrucción hasta la última, y así una y otra vez.

Por tanto, las instrucciones escritas en la sección “void setup()” normalmente sirven para realizar ciertas preconfiguraciones iniciales y las instrucciones del interior de “void loop()” son, de hecho, el programa en sí que está funcionando continuamente.

Ejemplo [Lenguaje Arduino 01]
/*Declaración e inicialización de unavariable global llamada “mivariable” */
int mivariable=555;
void setup() {
        Serial.begin(9600);
}
void loop() {
        Serial.println(mivariable);
         mivariable=mivariable+1;
}
En el caso concreto del ejemplo que vimos en [Lenguaje Arduino 01], vemos que en la zona de declaraciones de variables globales hay una sola línea (int mivariable=555;) que dentro de “void setup()” se ejecuta una sola instrucción (Serial.begin(9600);) y que dentro de “void loop()” se realiza la ejecución continua y repetida (hasta que la alimentación de la placa se interrumpa) de dos instrucciones una tras otra: Serial.println(mivariable); y mivariable=mivariable+1;. Sobre el significado y sintaxis de todas estas líneas hablaremos a continuación.

Aclaraciones importantes sobre las mayúsculas, tabulaciones y puntos y comas

Mayusculas: Conviene aclarar ya pequeños detalles que deberemos tener en cuenta a la hora de escribir nuestros sketches para evitarnos muchos dolores de cabeza. Por ejemplo, es necesario saber que el lenguaje Arduino es “case-sensitive”. Esto quiere decir que es totalmente diferente escribir una letra en mayúscula que en minúscula. Dicho de otra forma: para el lenguaje Arduino “HolA” y “hOLa” son dos palabras distintas. Esto tiene una implicación muy importante: no es lo mismo escribir por ejemplo “Serial.begin(9600);” que “serial.begin(9600);”. En el primer caso la instrucción estaría correctamente escrita, pero en el segundo, en el momento de compilar el código el IDE se quejaría porque para él “serial” (con “s” minúscula) no tiene ningún sentido. Así que hay que vigilar mucho con respetar esta distinción en los códigos que escribamos.

Tabulaciones: Las tabulaciones de las instrucciones contenidas dentro de las secciones “void setup()” y “void loop()” del sketch del ejemplo que vimos en [Lenguaje Arduino 01] no son en absoluto necesarias para que la compilación del sketch se produzca con éxito. Simplemente son una manera de escribir el código de forma ordenada, clara y cómoda para el programador, facilitándole la tarea de leer código ya escrito y mantener una cierta estructura a la hora de escribirlo. En los próximos ejemplos de este libro se irá viendo mejor su utilidad.

Los punto y comas: todas las instrucciones (incluyendo también las declaraciones de variables) acaban con un punto y coma. Es indispensable añadir siempre este signo para no tener errores de compilación, ya que el compilador necesita localizarlo para poder detectar el final de cada instrucción escrita en el sketch. Si se olvida, se mostrará un texto de error que puede ser obvio (“falta un punto y coma”) o no. Si el texto del error es muy oscuro o sin lógica, es buena idea comprobar que la causa no sea la falta de un punto y coma en las líneas justamente anteriores a la marcada por el compilador como causante del problema.


Si te gusto esta publicación comparte para que siga haciendo mas tutoriales. En el siguiente enlace puedes visitar todos los tutoriales de la sección [Lenguaje Arduino] Y si tienes alguna duda no dudes en consultar por medio de este mismo blog :)

No hay comentarios.:

Publicar un comentario