Jak używać funkcji memcpy w Arduino

Jak używać funkcji memcpy w Arduino
Tablice Arduino można zaprogramować za pomocą IDE. Programowanie Arduino opiera się na uproszczonych wersjach C i C++. Arduino dziedziczy wiele technik programowania z tych dwóch języków. Wiele funkcji używanych w Arduino jest takich samych jak w języku C. Czasami musimy zoptymalizować nasze tablice Arduino za pomocą technik programowania, więc istnieje wiele funkcji, które sprawiają, że kod jest bardziej uproszczony i łatwiejszy do odczytania, co ogólnie poprawia wydajność Arduino.

Co to jest memcpy () w Arduino

Memcpy () to funkcja używana w programowaniu Arduino, która może skopiować blok pamięci z lokalizacji źródłowej do bloku pamięci. Może kopiować "N" Znaki od źródła do pamięci docelowej.

Tutaj omówimy, w jaki sposób Memcpy () jest używany w programowaniu Arduino. Funkcję memcpy () może być reprezentowana w następującej składni:

mempcpy (miejsce docelowe, źródło, strlen (źródło));

parametry memcpy ()

Funkcja memcpy () ma trzy parametry:

1: miejsce docelowe

Miejsca docelowe wskazują blok pamięci, w którym zostanie skopiowana pamięć źródła. To pokazuje wskaźnik w kierunku tablicy docelowej, w której zostanie skopiowana tablica źródłowa.

2: Źródło

Jest to punkt źródłowy, z którego zostanie skopiowany blok pamięci tablicy. Ten blok pamięci tablicy zostanie wklejony do miejsca docelowego.

3: Rozmiar/długość

Wskazuje to rozmiar bloku pamięci, z którego zamierzamy skopiować źródło Do miejsce docelowe. To jest strlen () typ.

Jak używać memcpy () w Arduino

W Arduino używamy memcpy () do kopiowania danych ze źródła do miejsca docelowego z określoną liczbą bajtów. Służy do kopiowania bloków pamięci z jednego miejsca do drugiego.

Aby uzyskać lepsze zrozumienie funkcji memcpy (), weźmiemy szkic Arduino i spróbujemy skopiować tablicę od jednego do miejsca docelowego.

void Setup ()

Seryjny.rozpocząć (115200);
Źródło char [14] = "Linuxhint.com "; // to jest tablica źródłowa
cecha ceny [14];
strcpy (miejsce docelowe, „strona internetowa”); // To jest tablica docelowa
Seryjny.print („przed memcpy () destiner =”);
Seryjny.println (miejsce docelowe); // miejsce docelowe przed memcpy ()
memcpy (miejsce docelowe, źródło, strlen (źródło) +1); // funkcja memcpy ()
Seryjny.print („After Memcpy () destiner =”);
Seryjny.println (miejsce docelowe); // tablica docelowa po memcpy ()

Void Loop ()

W powyższym przykładzie zadeklarowaliśmy tablicę dwóch znaków źródło I miejsce docelowe. Rozmiar tablicy charakterze źródłowego wynosi 14, a rozmiar docelowej tablicy charytatywnej wynosi 8.

W wierszu 7 wydrukowaliśmy wyjście tablicy docelowej na monitorze szeregowym jako „Przed Memcpy () miejsce docelowe”.

Następnie wykonaliśmy funkcję memcpy (), która skopiuje i zastąpi tablicę źródłową Char „Linuxhint.com ” do naszej tablicy docelowej "Strona internetowa".

W wierszu 10 wydrukowaliśmy wyjście tablicy docelowej po zastosowaniu funkcji memcpy () na monitorze szeregowym. Obrazową reprezentację funkcji memcpy () można podać jak poniżej:

Wyjście na monitorze szeregowym pokazano na rysunku poniżej:


Wniosek

W tym artykule dowiedzieliśmy się, jak działa funkcja memcpy () w programowaniu Arduino. Funkcja memcpy () w Arduino może skopiować dowolną tablicę od źródła do docelowego bloku pamięci. Korzystając z tej funkcji, możesz zoptymalizować ogólną wydajność kodu.