Pasando una matriz para funcionar en Arduino
La programación de Arduino no permite pasar directamente una matriz completa como argumento de la función. Sin embargo, un puntero se puede pasar a una matriz especificando su nombre.
Para pasar matrices de dimensión única como argumento de función, debemos considerar después de tres sintaxis dada. Los tres generarán el mismo resultado y le dirán al IDE que se acerca un puntero.
Sintaxis 1: Un puntero con parámetros formales.
returnType functionName (dataType *param)
Sintaxis 2: Un puntero con una matriz de tamaño.
returnType functionName (DataType Param [10])
Sintaxis 3: Un puntero con una matriz no dimensionada.
returnType functionName (dataType param [])
Podemos pasar una matriz a la función Arduino utilizando dos métodos diferentes:
Pase la matriz por tipo de matriz
Ahora en este método pasaremos una matriz a una función como un argumento de esa función. Tomemos un ejemplo para comprender cómo pasar una matriz a una función.
Código de ejemplo
visualización void (int num [5]) /*La pantalla de la función se inicializa* /
De serie.println ("Elementos de la matriz de impresión:");
para (int i = 0; i < 5; ++i) /*For loop to print array elements*/
De serie.imprimir ("elemento");
De serie.imprimir (i+1); /*Condición para aumentar el número de elemento cada código de tiempo se ejecuta*/
De serie.imprimir(": ");
De serie.println (num [i]); /*El número de elemento está impreso*/
setup () void
De serie.comenzar (9600); /*Comienza la comunicación en serie*/
int num [5] = 10, 20, 30, 40, 50; /*Elementos de matriz con tamaño inicializado*/
pantalla (num); /*Elementos de matriz mostrados*/
regresar 0;
bucle void ()
En el código anterior primero, se inicializa una nueva función con el tipo de retorno vacío con un tamaño de matriz de 5. Para el bucle se imprime para devolver números de 1 a 5 cada vez que se ejecuta el código de tiempo. Observe los parámetros de la función Void Display () Aquí utilizamos una declaración completa, incluidos los parámetros de tamaño de matriz y función junto con aparatos cuadrados [].
En la parte del bucle usando pantalla (num) Llamamos a la función original pasando una matriz como argumento. Aquí numer representa la dirección de memoria del primer elemento.
Producción
La ventana de salida muestra los elementos de la matriz uno por uno. Usando un bucle for bucle, todos los 5 elementos de matriz se pasan a la función.
Conclusión
La programación de Arduino como C ++ no permite pasar una matriz completa a una función, sin embargo, utilizando un puntero a una matriz especificando el nombre de la matriz dada, podemos pasar fácilmente cualquier elemento de la matriz a una función por completo. Se siguen tres sintaxis diferentes para pasar una matriz a la función. Este artículo lo ayudará a pasar cualquier matriz para funcionar dentro del boceto de Arduino.