Apuntes de Arduino
•
Variables globales: se pueden utilizar y modificar en cualquier parte del programa. Se
declaran fuera de cualquier función, normalmente en la parte superior del programa.
Ejemplo:
int ledPin = 13;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin, HIGH);
}
La variable ledPin es de tipo global, se puede utilizar tanto en la función setup() como en la
función loop().
•
Variables locales: se pueden utilizar sólo en una función, y se declaran dentro de dicha
función.
Ejemplo:
void setup()
{
int ledPin = 13;
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
}
Ahora la variable ledPin sólo podrá ser usada dentro de la función setup(). Si tratamos de
utilizarla en otra función, como la función loop(), dará lugar a un error. Por ejemplo:
void loop()
{
digitalWrite(ledPin, LOW); // incorrecto: ledPin no tiene ámbito aquí.
}
Cuando los programas empiezan a hacerse más grandes y más complejos, las variables locales
son un medio útil para asegurarse de que sólo una función tiene acceso a sus propias variables.
Esto evita errores de programación cuando una función modifica inadvertidamente las variables
utilizadas por otra función. Además, si en alguna parte hay un error, será mucho más difícil de
encontrar. Esta es la razón de que no se hagan globales todas las variables.
A veces también es útil declarar e inicializar una variable dentro de un bucle for. Esto crea una
variable que sólo se puede acceder desde el interior de las llaves del bucle for.
Ejemplo
int gPWMval; // cualquier función verá y tendrá acceso a esta variable, es global
Apuntes de Arduino. Tecnología
30