Passando a matriz para funcionar em Arduino
A programação do Arduino não permite passar diretamente uma matriz inteira como argumento de função. No entanto, um ponteiro pode ser passado para uma matriz especificando seu nome.
Para passar as matrizes de dimensão única como um argumento de função, devemos considerar seguindo três sintaxe dada. Todos os três gerarão o mesmo resultado e dirão ao IDE que um ponteiro está chegando.
Sintaxe 1: Um ponteiro com parâmetros formais.
ReturnType FunctionName (Datatype *param)
Sintaxe 2: Um ponteiro com uma matriz de tamanho.
ReturnType FunctionName (Datatype Param [10])
Sintaxe 3: Um ponteiro com uma matriz não tamanho.
ReturnType FunctionName (Datatype Param [])
Podemos passar a matriz para a função Arduino usando dois métodos diferentes:
Passar a matriz por tipo de matriz
Agora, neste método, passaremos uma matriz para uma função como um argumento dessa função. Vamos dar um exemplo para entender como passar uma matriz para uma função.
Código de exemplo
Void Display (int num [5]) /*Exibição da função é inicializado* /
Serial.println ("elementos de matriz de impressão:");
para (int i = 0; i < 5; ++i) /*For loop to print array elements*/
Serial.print ("elemento");
Serial.impressão (i+1); /*Condição para aumentar o número do elemento sempre o código de tempo executar*/
Serial.imprimir(": ");
Serial.println (num [i]); /*O número do elemento é impresso*/
Void Setup ()
Serial.começar (9600); /*A comunicação serial começa*/
int num [5] = 10, 20, 30, 40, 50; /*Elementos de matriz com tamanho inicializado*/
exibição (num); /*Elementos de matriz exibidos*/
retornar 0;
Void Loop ()
No código acima, primeiro uma nova função com o tipo de retorno vazio é inicializado com um tamanho de matriz de 5. Para o loop é impresso para retornar números de 1 a 5 sempre que o código for executado. Observe os parâmetros da função void Display () aqui usamos a declaração completa, incluindo o tamanho da matriz e os parâmetros de função, juntamente com aparelhos quadrados [].
Na parte do loop usando exibição (num) Chamamos a função original passando uma matriz como argumento. Aqui num representa o primeiro endereço de memória do elemento.
Saída
Janela de saída mostra os elementos da matriz um por um. Usando um loop para loop, todos os 5 elementos da matriz são passados para funcionar.
Conclusão
A programação do Arduino como C ++ não permite passar uma matriz inteira para uma função, no entanto, usando um ponteiro para uma matriz especificando o nome da matriz fornecida, podemos facilmente passar qualquer elementos de matriz para uma função completamente. Três sintaxe diferente são seguidas para passar uma matriz para funcionar. Este artigo ajudará você a passar qualquer matriz para funcionar dentro do esboço do Arduino.