Definir una variable global en Arduino

Ammar Ali 12 octubre 2023
Definir una variable global en Arduino

Este tutorial discutirá la definición de una variable como global en Arduino al inicializarla en la parte superior de todas las demás funciones.

Definir una variable global en Arduino

En Arduino, podemos definir diferentes tipos de variables. La variable global es una variable a la que se puede acceder dentro de cualquier función en el código.

Si definimos una variable dentro de una función, la variable solo se usará en el ámbito de esa función. Si intentamos usarlo dentro de otra función, Arduino dará un error diciendo que la variable no está definida en este ámbito.

Si definimos una variable fuera de una función y en la parte superior de todas las funciones presentes dentro del código Arduino, será una variable global a la que se puede acceder dentro de cualquier función. Si la variable global no está definida como constante, también podemos cambiar su valor en cualquier punto dentro de una función.

Por ejemplo, definamos una variable global y cambiemos su valor dentro de la función setup().

Código de ejemplo:

int global = 10;
void setup() {
  global = 20;
  Serial.begin(9600);
  Serial.println(global);
}

void loop() {}

Producción :

20

En el código de ejemplo anterior, definimos la variable global y la inicializamos con un valor de 10. Usamos el monitor serial de Arduino para mostrar el valor en la ventana del monitor serial.

La función Serial.begin() inicializaba el monitor serial con la tasa o velocidad de baud dada. Y la función Serial.println() se utiliza para imprimir el valor dado en la ventana del monitor serie.

Supongamos que definimos la variable debajo de la función setup(). En ese caso, no podremos usarlo dentro de la función setup(), pero sí dentro de la función loop() o cualquier otra función definida debajo de la variable global.

Tenga en cuenta que las variables globales se pueden cambiar desde el ámbito de cualquier función, así que utilícelas con precaución.

Si no queremos definir una variable global pero queremos declararla dentro de una función y usarla dentro de otras funciones, podemos pasar las variables como argumentos de entrada a esa función.

Por ejemplo, definamos dos variables dentro de la función setup(), agréguelas dentro de otra función, devuelva el resultado a la función setup() e imprímalo en el monitor serie.

Código de ejemplo:

void setup() {
  int a = 10;
  int b = 20;
  int c = add(a, b);
  Serial.begin(9600);
  Serial.println(c);
}

void loop() {}

int add(int aa, int bb) {
  int result = aa + bb;
  return result;
}

Producción :

30

En el código anterior, definimos dos variables enteras, a y b, las pasamos dentro de la función add() para encontrar su suma, devolvimos el resultado y lo guardamos dentro de la variable c. En este ejemplo, no estamos cambiando las variables originales; solo estamos usando su valor dentro de otra función.

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