Tutorial 2 sobre cómo escribir una función personalizada para placas Intel® Galileo

Documentación

Instalación y configuración

000006605

18/03/2022

Hasta este punto, hemos estado escribiendo nuestro código dentro de las funciones de configuración y bucle. Esto está perfectamente bien. Pero, ¿qué ocurre si su programa tiene una gran cantidad de lógica compleja? ¿Cómo organizaría su código?

Hay un arte en la programación y comienza con saber dónde poner su código.

A veces, la codificación puede ser complicada. Si alguna vez ha leído cualquier código de código abierto, puede ejecutar algún código que:

  • falta de comentarios: incluir comentarios lo ayuda a ti y lo que opinas es leer que comprende lo que está sucediendo.
  • la lógica no está organizada: organizar el código en grupos lógicos ayuda a la depuración y el mantenimiento de código
  • los nombres son engañosos: los nombres variables y de función deben describir correctamente lo que pretenden hacer
  • sobre la claridad, el código debe leerse fácilmente; tratar de no ser ándico en lo que estás tratando de lograr

 

Los programas en cualquier idioma se pueden escribir y organizar sin embargo, el programador considera que están bien. Esto está bien si usted es el único que lee el código. Sin embargo, si está trabajando en un equipo, es importante proporcionar algunas pautas que todos siguen. Un día, otras personas deberán actualizar y leer el código que escriba. Escribir código organizado y práctica de prácticas de codificación comunes lo ayudará a usted y a su colega ingeniero a escribir un código hermoso.

Para obtener sugerencias sobre cómo mejorar su estilo de codificación, consulte la guía de estilos de codificación C++ de Google.

Hay dos tipos de funciones:

  • Ejecuta las instrucciones y no devuelve ningún valor (escriba void)
  • Ejecuta las instrucciones y devuelve un valor (los tipos incluyen int, 0,000, double)

Ver más en la sección Tipos de datos en la página de referencia de Arduino.

Tipos de funciones

Type void:
void sayHello(){
Serial.println("Hello!");
}

Type integer:
int theAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything(){
return 42;
}

We can assign the value of functions that return something to variables:
int myAnswer = theAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything();

Supongamos que quisimos hacer que una función fuera un poco más útil. Podemos utilizar parámetros de función para pasar datos únicos que tendrán un impacto en el resultado de la función. Por ejemplo:
int add(int x, int y){
return x + y;
}

Llamaremos a esta función, pasando parámetros personalizados como tal:
int numbersAdded = add(2, 2); // The variable numbersAdded is equal to 4

Hay una variedad de maneras de escribir una función. Todo depende de lo que desee hacer. Un buen lugar para comenzar a escribir una función personalizada es definir la firma de la función.

Firma de función
Antes de escribir el código de una función, es mejor determinar lo que está intentando lograr.

  • ¿Devolverá un valor?
  • ¿Cuántos parámetros se le pasarán (si los hubiera)?
  • ¿Cuál es el propósito de la función?

Finjamos que está escribiendo un programa que genera un mensaje personalizado en el monitor serie. Este mensaje comentará sobre el tiempo (que podría estar basado en un sensor de temperatura, por ejemplo).

Todavía no sabe cómo se ve exactamente el código dentro de la función, pero sabe lo que quiere que haga:

  • Tome dos parámetros personalizados para unir (o unir) en uno o en uno.
  • Tome un número de tipo Double que se anexará al mensaje
  • No devuelve un valor
  • La salida del monitor en serie imprimiría "Está a 30 grados afuera".

Nuestra firma podría parecerse a esto:
void myRequest(String detallado 1, String 2, double deg){}

Llamar a la función tendría un aspecto similar a:
Los grados aquí serían una variable predefinida según una lectura del sensor de temperatura.
myRequest("Es", grados, "fuera");

Desafío
¿Cómo escribiría el código para completar la tarea de esta función?