Subrutina en Arduino

Ammar Ali 12 octubre 2023
Subrutina en Arduino

Este tutorial discutirá cómo trabajar con subrutinas declarando funciones y llamándolas en el código principal de Arduino.

Subrutina en Arduino

En Arduino, podemos declarar funciones y llamarlas en el código principal para trabajar con subrutinas. El código se ejecuta línea por línea, y si llamamos a una función en una línea, Arduino se detendrá en esa línea y pasará a la declaración de esa función.

Ejecutará el código presente en la función y luego pasará a la siguiente línea en el código principal.

Ejemplo:

void setup() {}
void loop() {
  // code
  Sub_1();
  // code
}
void Sub_1() {
  // code
}

Cuando se ejecuta la línea de función Sub_1() en el código anterior, el compilador se moverá a la declaración de función Sub_1() y ejecutará su código.

Volverá al código principal y se moverá a la siguiente línea. Podemos declarar funciones con o sin tipos de retorno.

En el código anterior, usamos la palabra clave void, lo que significa que la función no devolverá nada, pero podemos cambiar los valores de las variables globales en la función.

Las variables definidas al inicio y que no están encerradas por ninguna función se denominan variables globales.

Definamos una variable global y cambiemos su valor usando una subrutina. Vea el código a continuación.

int a = 5;
void setup() {}
void loop() {
  // code
  Sub_1();
  // code
}
void Sub_1() { a = 10; }

En el código anterior, el valor de la variable global a cambiará después de ejecutar la subrutina Sub_1(). Podemos imprimir el valor de la variable antes y después de la subrutina para comprobar si funciona o no.

También podemos definir funciones con un tipo de retorno que devolverá un valor cuando se llamen.

Para definir una función con un tipo de datos, primero debemos escribir el tipo de datos, el nombre de la función y los parámetros que queremos pasar dentro de la función.

Por ejemplo, definamos una función para encontrar la suma de dos números enteros y devolver el resultado como un número entero.

void setup() {}
void loop() {
  int a = 5;
  int b = 5;
  int c;
  c = Sub_1(a, b);
  // code
}
int Sub_1(int x, int y) {
  int result = x + y;
  return result;
}

En el código anterior, cuando se llama a la función Sub_1() con las entradas específicas, devolverá la suma de las dos entradas.

Tenga en cuenta que las variables que pasamos dentro de la función Sub_1() no son las mismas que las que usamos dentro de la declaración Sub_1(). Aún así, podemos usar las mismas variables porque no son globales.

Las variables definidas dentro de una función solo se pueden usar y cambiar dentro de esa función. Podemos usar la palabra clave return para devolver un valor o una variable.

También podemos usar otros tipos de datos para definir una función como string, char y long. Si no queremos devolver ningún valor o variable, podemos usar la palabra clave void para definir la función.

Las subrutinas son útiles cuando queremos escribir un código limpio o repetir una tarea varias veces en un código.

Si queremos realizar una tarea más de una vez en un código, tenemos que escribir el código varias veces, pero podemos hacer una función y poner el código dentro y llamarla en cualquier momento en el código principal.

Reducirá el tiempo y el espacio y hará que el código sea limpio y corto.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook