Funkcja Arduino HighByte

Funkcja Arduino HighByte

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ł.