Arduino jest programowane przy użyciu języka C lub C ++; większość składni obu tych języków jest taka sama. Funkcje używane w języku C można łatwo zaimplementować w programowaniu Arduino Jednym z nich jest Strcmp, który porównuje dwa różne znaki Strings. Dowiedzmy się, jak to zrobić w Arduino Ide.
funkcja strcmp ()
Funkcja strcmp () w programowaniu Arduino porównuje dwa różne ciągi i zwraca trzy wartości w zależności od znaków wewnątrz ciągu. String Porównanie funkcji sprawdza wartości ASCII znaków obecnych w obu ciąży i zwraca liczbę dodatnią, ujemną lub zerową w wyjściu.
Strcmp () porównuje zarówno znak 1, jak i sznur 2 według znaku. Będzie dalej porównywać, dopóki nie znajdzie odmiennego charakteru między obiema strunami. Jeśli pierwsza postać obu strun jest równa, pójdzie w kierunku drugiego i będzie dalej porównywać, aż znajdzie charakter odmienny. W przypadku, gdy nie zostanie znalezione pojedynczy odmienny znak, zero zostanie zwrócone.
Składnia
Składnia funkcji strcmp () podano poniżej:
int strcmp (const char * string1, const char * string2);W składni podanej powyżej String1 i String2 to dwa ciągniki, których znaki należy porównać jeden po jednym.
Wartości parametrów
Funkcja strcmp () przyjmuje dwa parametry:
Wartości zwracane
Postacie na klawiaturze mają unikalne wartości ASCII, więc strcmp () Funkcje zwracają trzy różne wartości w zależności od znaków ciągu:
Ta funkcja będzie porównywać każdy znak w ciągu z każdym znakiem innego ciągu i będzie kontynuowana, aż pojawi się jakikolwiek odmienny znak, który jest obecny tylko w jednym ciągu opartym na wartościach ASCII.
Przykładowy kod
Funkcja strcmp () działa poprzez porównanie wartości ASCII znaków, aby uzyskać odniesienie Patrz tabela poniżej I I u. Oba mają różne wartości ASCII z "I" Posiadanie 105 i u wartość równa 117. Co oznacza wartość ASCII I jest mniejszy od u.
Podobnie litery kapitałowe I i U będzie miała wartość ASCII, mając większą ASCII niż ja.
Postać ASCII | Dec | KLĄTWA | OCT |
I | 105 | 69 | 151 |
u | 117 | 75 | 165 |
Korzystając z przykładu, dowiedzmy się, jak działa strcmp ().
void setup ()W tym kodzie najpierw definiujemy nową zmienną wyjście Aby przechowywać wartość zwrotną funkcji strcmp (). Następnie zainicjowaliśmy komunikację szeregową, definiując wskaźnik transmisji. Następne dwa struny są zdefiniowane.
Funkcja strcmp () porówna zarówno ciągi i przechowuje dane wyjściowe w zmiennych utworzonych na początku. Aby wydrukować wyjście na szeregowym monitor seryjnego.Używana jest funkcja println.
Wyjście
Możemy kategoryzować dane wyjściowe na trzy różne sposoby:
1. Kiedy wyjście jest dodatnie
Tutaj wyjście jest dodatnie, ponieważ wartość String 1 ASCII jest większa niż String 2.
2. Gdy wyjście jest ujemne
Tutaj wyjście jest ujemne, ponieważ wartość String 1 ASCII jest mniejsza niż String 2.
3. Gdy wyjście wynosi zero
Tutaj wyjście jest zerowe, ponieważ ciąg 1 jest równy Stringowi 2.
Notatka: Dostępnych jest również wiele innych funkcji, które porównują dwa ciągi, takie jak:
Wniosek
Ten zapis pomoże ci ulepszyć i ulepszyć umiejętności programowania Arduino. Jeśli ktoś ma podstawowe zrozumienie języka C/C ++, łatwo będzie zaprogramować planszę Arduino. Funkcja strcmp () porównuje dwa różne ciągi i zwraca liczby dodatnie, ujemne lub zerowe.