====== [Arduino] Referencia: Funciones de usuario ====== ===== Variables globales ===== int option=1; int cambiar(){ option=4; } void setup(){ Serial.begin(9600); } void loop(){ cambiar(); Serial.print(option); //muestra 4 delay(10000); } \\ ===== Paso de parámetros por valor ===== Trabaja con una copia del dato almacenado en la variable. Por lo tanto si se modifica en la función no queda cambiado su valor en la variable. int cambiar(var){ var=4; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; cambiar(option); Serial.print(option); //muestra 1 delay(10000); } \\ ===== Paso de parámetros por referencia ===== Trabaja con la dirección de memoria donde se guarda la variable. Por lo tanto si se modifica en la función queda cambiado su valor. int cambiar(int &var){ var=4; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; cambiar(option); Serial.print(option); //muestra 4 delay(10000); } \\ ===== Paso de parámetros por puntero ===== int cambiar(int *var){ *var=4; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; cambiar(&option); Serial.print(option); //muestra 4 delay(10000); } \\ ===== Devolución de valores ===== int cambiar(){ int var=4; return var; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; option=cambiar(); Serial.print(option); //muestra 4 delay(10000); } \\