Como usar a função de memcpy no Arduino

Como usar a função de memcpy no Arduino
As placas de Arduino podem ser programadas usando IDE. A programação do Arduino é baseada em versões simplificadas de C e C++. Arduino herda muitas de suas técnicas de programação desses dois idiomas. Muitas das funções usadas no Arduino são as mesmas que na linguagem C. Às vezes, precisamos otimizar nossas placas Arduino usando técnicas de programação, para que várias funções existam que tornam o código mais simplificado e mais fácil de ler, o que melhora o geral da eficiência do Arduino.

O que é memcpy () em Arduino

O memcpy () é uma função usada na programação Arduino que pode copiar um bloco de memória do local da fonte para o bloco de memória de destino. Pode copiar "N" caracteres da origem à memória de destino.

Aqui discutiremos como o memcpy () é usado na programação do Arduino. A função Memcpy () pode ser representada após a sintaxe seguinte:

mempcpy (destino, fonte, strlen (fonte));

Parâmetros de memcpy ()

A função memcpy () possui três parâmetros:

1: destino

Destinos indicam o bloco de memória onde a memória de origem será copiada. Isso mostra um ponteiro em direção à matriz de destino, onde a matriz de origem será copiada.

2: fonte

Este é o ponto de origem do qual o bloco de memória da matriz será copiado. Este bloco de memória da matriz será colado no local de destino.

3: tamanho/comprimento

Isso indica o tamanho do bloco de memória que vamos copiar de fonte para destino. Isso é strlen () tipo.

Como usar memcpy () em arduino

Em Arduino, usamos memcpy () para copiar dados de origem para destino com um número especificado de bytes. É usado para copiar blocos de memória de um local para outro.

Para entender mais sobre a função memcpy (), vamos pegar um esboço do Arduino e tentar copiar uma matriz de um para outro destino.

configuração void ()

Serial.começar (115200);
fonte de char [14] = "Linuxhint.com "; // Esta é a matriz de origem
destino de char [14];
strcpy (destino, "site"); // Esta é a matriz de destino
Serial.print ("Antes de memcpy () destination =");
Serial.println (destino); // destino antes de memcpy ()
memcpy (destino, fonte, strlen (fonte) +1); // função memcpy ()
Serial.print ("após memcpy () destination =");
Serial.println (destino); // Matriz de destino após memcpy ()

Void Loop ()

No exemplo acima, declaramos uma matriz de dois caracteres fonte e destino. O tamanho da matriz de char de origem é de 14 e o tamanho da matriz de destino é 8.

Na linha 7, imprimimos a saída da matriz de destino no monitor serial como “Antes de memcpy () destino”.

Depois disso, executamos a função memcpy () que copiará e substituirá a matriz de origem char “Linuxhint.com ” para a nossa matriz de destino que é "Local na rede Internet".

Na linha 10, imprimimos a saída da matriz de destino após a aplicação da função memcpy () no monitor serial. A representação pictórica da função memcpy () pode ser dada como abaixo:

A saída no monitor serial é mostrada na figura abaixo:


Conclusão

Neste artigo, aprendemos como a função memcpy () funciona na programação Arduino. A função Memcpy () em Arduino pode copiar qualquer matriz da fonte para o bloco de memória de destino. Usando esta função, você pode otimizar o desempenho geral do código.