Hvordan bruke memcpy -funksjon i Arduino

Hvordan bruke memcpy -funksjon i Arduino
Arduino -brett kan programmeres ved hjelp av IDE. Arduino -programmering er basert på forenklede versjoner av C og C++. Arduino arver mye av programmeringsteknikkene fra disse to språkene. Mange av funksjonene som brukes i Arduino er de samme som på C -språket. Noen ganger må vi optimalisere Arduino -tavlene våre ved hjelp av programmeringsteknikker, så flere funksjoner er der som gjør koden mer forenklet og enklere å lese, noe som generelt forbedrer Arduino -effektiviteten.

Hva er memcpy () i Arduino

MEMCPY () er en funksjon som brukes i Arduino -programmering som kan kopiere en blokk med minne fra kildeplassering til minneblokken til destinasjon. Den kan kopiere “N” tegn fra kilde til destinasjonsminne.

Her vil vi diskutere hvordan memcpy () brukes i Arduino -programmering. MEMCPY () -funksjonen kan være representert i følgende syntaks:

mempcpy (destinasjon, kilde, strlen (kilde));

memcpy () parametere

memcpy () -funksjonen har tre parametere:

1: Destinasjon

Destinasjoner indikerer minneblokken der kildeminnet vil bli kopiert. Dette viser en peker mot destinasjonsarrayen der kildeoppstillingen vil bli kopiert.

2: Kilde

Dette er kildepunktet som matriseblokken vil bli kopiert fra. Denne array -minneblokken vil bli limt inn til destinasjonsstedet.

3: Størrelse/lengde

Dette indikerer størrelsen på minneblokken som vi skal kopiere fra kilde til mål. Det er Strlen () type.

Hvordan bruke memcpy () i Arduino

I Arduino bruker vi memcpy () for å kopiere data fra kilde til destinasjon med et spesifisert antall byte. Det brukes til å kopiere minneblokker fra et sted til et annet.

For å få mer forståelse for memcpy () -funksjonen, vil vi ta en Arduino -skisse og prøve å kopiere en matrise fra en til et annet reisemål.

ugyldig oppsett ()

Serie.Begin (115200);
Char Source [14] = "Linuxhint.com "; // dette er kildekruise
Char destinasjon [14];
Strcpy (destinasjon, "nettsted"); // dette er destinasjonsarray
Serie.print ("før memcpy () destination =");
Serie.println (destinasjon); // destinasjon før memcpy ()
MEMCPY (destinasjon, kilde, strlen (kilde) +1); // memcpy () funksjon
Serie.print ("After memcpy () destination =");
Serie.println (destinasjon); // destinasjonsarray etter memcpy ()

ugyldig sløyfe ()

I eksemplet ovenfor har vi erklært en to-tegneserie kilde og mål. Størrelsen på kildekarrayen er 14 og størrelsen på destinasjons char -arrayen er 8.

I linje 7 har vi skrevet ut utdataene fra destinasjonsarrayen på seriemonitoren som “Før memcpy () destinasjon”.

Etter det har vi utført MEMCPY () -funksjonen som vil kopiere og erstatte kildekarray Char “Linuxhint.com ” til vår destinasjonsarray som er “Nettsted”.

I linje 10 har vi skrevet ut utdataene fra destinasjonsarrayen etter å ha brukt MEMCPY () -funksjonen på seriemonitoren. Bilde representasjon av memcpy () -funksjonen kan gis som nedenfor:

Utgang på seriell skjerm er vist i figur nedenfor:


Konklusjon

I denne artikkelen har vi lært hvordan memcpy () -funksjonen fungerer i Arduino -programmering. MEMCPY () -funksjonen i Arduino kan kopiere enhver matrise fra kilde til destinasjonsminneblokk. Ved hjelp av denne funksjonen kan du optimalisere den generelle kodeytelsen.