Arduino sprawił, że elektronika i programowanie jest bardziej dostępne dla szerszej publiczności. Arduino ma kilka różnych funkcji manipulowania danymi bajtów. Jedną z takich funkcji jest HighByte (). Ta funkcja wyodrębnia wysokie bajty z podanych danych wejściowych. W tym artykule szczegółowo omówi funkcję Arduino Highbyte ().
Funkcja HighByte () w Arduino
Funkcja HighByte () jest częścią biblioteki referencyjnej języka Arduino, która pozwala użytkownikowi wyodrębnić bajt ze zmiennej 16-bitowej. Bajt to jednostka danych, która może przechowywać wartość od 0 do 255. Z drugiej strony 16-bitowa zmienna może przechowywać wartość od 0 do 65 535.
Objaśnienie funkcji Arduino highbyte ()
Funkcja HighByte () wyodrębnia najważniejszy bajt (wysoki bajt) ze zmiennej 16-bitowej. Wysoki bajt to bajt, który zawiera najważniejsze bity zmiennej, podczas gdy niski bajt zawiera najmniej znaczące bity. Funkcja HighByte () jest przydatna w przypadku zmiennych 16-bitowych, takich jak wartości konwertera analogowo-cyfrowego (ADC), wartości PWM i wartości timera.
Składnia funkcji HighByte ()
Składnia funkcji HighByte () jest następująca:
Highbyte (x)
Gdzie x jest 16-bitową zmienną, której wysoki bajt chcemy wyodrębnić.
Parametr
Funkcja przyjmuje tylko jeden parametr, który jest 16-bitową wartością do wyodrębnienia wysokiego bajtu z.
Powrót
Wartość zwracana funkcji HighByte () jest wartością 8-bitową, która reprezentuje wysoki bajt 16-bitowej wartości wejściowej. Wartość zwracana jest niezgonowaną liczbą całkowitą między 0 a 255.
Przykłady funkcji HighByte ()
Oto kompletny przykład kodu Arduino, który pokazuje użycie funkcji HighByte ():
void setup ()
// Zainicjuj komunikację szeregową przy 9600 bitach na sekundę:
Seryjny.rozpocząć (9600);
void Loop ()
// Utwórz 16-bitową wartość całkowitą:
unsigned int myValue = 0xabcd;
// Wyodrębnij wysoki bajt z wartości 16-bitowej:
niepodpisany Char HighByteValue = HighByte (myValue);
// Wydrukuj oryginalną wartość i wysoką wartość bajtów do monitora szeregowego:
Seryjny.print („oryginalna wartość:”);
Seryjny.druk (myValue, hex);
Seryjny.print (", wysoka wartość bajtów:");
Seryjny.println (HighByteValue, Hex);
// poczekaj 1 sekundę przed powtórzeniem pętli:
opóźnienie (1000);
W tym przykładzie funkcja Setup () inicjuje komunikację szeregową z szybkością transmisji 9600. Funkcja pętli () tworzy 16-bitową wartość liczbową MyValue, wydobywa swój wysoki bajt za pomocą Funkcja HighByte (), a następnie drukuje zarówno wartość pierwotną, jak i wysoką wartość bajtów do monitora szeregowego za pomocą szeregowego.Funkcja print (). Funkcja opóźnienia () służy do zatrzymania pętli przez 1 sekundę przed powtórzeniem.
Po przesłaniu tego kodu na płytę Arduino i otwieranie monitora szeregowego, powinieneś zobaczyć pierwotną wartość 0xabcd i wysoka wartość bajtów 0xab wydrukowane wielokrotnie, raz na sekundę.
Wniosek
Funkcja HighByte () jest niezbędną funkcją w Arduino, która pozwala użytkownikowi wyodrębnić najważniejszy bajt ze zmiennej 16-bitowej. Jest to przydatne w radzeniu sobie ze zmiennymi 16-bitowymi, takimi jak wartości ADC, wartości PWM i wartości timera. Aby uzyskać więcej szczegółów na temat parametru funkcji HighByte (), zwracaj wartość i składnię przeczytaj artykuł.