Cómo pasar la matriz a una función Arduino

Cómo pasar la matriz a una función Arduino
La programación de Arduino utiliza matrices para almacenar múltiples valores de datos del mismo tipo de datos, las matrices son como variables. Tanto las matrices como las variables son un tipo de contenedor, pero las matrices tienen divisores dentro de los contenedores para almacenar múltiples datos. Lo único a tener en cuenta es que las matrices solo pueden almacenar datos con el mismo tipo de datos. Veamos cómo pasar una matriz a las funciones.

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
  • PASE MATRAY POR TIPO DE PUNTER

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.