Arduino Highbyte -funksjon

Arduino Highbyte -funksjon

Arduino har gjort elektronikk og programmering mer tilgjengelig for et bredere publikum. Arduino har flere forskjellige funksjoner for å manipulere byte -data. En slik funksjon er Highbyte (). Denne funksjonen trekker ut høye byte fra de gitte inndataene. Denne artikkelen vil dekke Arduino Highbyte () -funksjonen i detalj.

Highbyte () -funksjon i Arduino

Highbyte () -funksjonen er en del av Arduino Language Reference Library som lar brukeren trekke ut High Byte fra en 16-bits variabel. En byte er en dataenhet som kan lagre en verdi fra 0 til 255. En 16-bits variabel, derimot, kan lagre en verdi fra 0 til 65.535.

Forklaring av Arduino Highbyte () -funksjon

Highbyte () -funksjonen trekker ut den mest betydningsfulle byten (høye byte) fra en 16-bit variabel. Den høye byten er byten som inneholder de viktigste bitene av variabelen, mens den lave byten inneholder de minst betydningsfulle bitene. Highbyte () -funksjonen er nyttig når du arbeider med 16-biters variabler, for eksempel analog-til-digitale omformer (ADC) -verdier, PWM-verdier og timerverdier.

Syntaks av HighByte () -funksjon

Syntaksen til Highbyte () -funksjonen er som følger:

Highbyte (x)

Hvor x er 16-bit variabelen hvis høye byte vi ønsker å trekke ut.

Parameter

Funksjonen tar bare en parameter, som er 16-biters verdi å trekke ut høye byte fra.

Komme tilbake

Returverdien av Highbyte () -funksjonen er en 8-bits verdi, som representerer den høye byten til 16-biters inngangsverdi. Returverdien er et usignert heltall mellom 0 og 255.

Eksempler på HighByte () -funksjon

Her er et komplett eksempel Arduino -kode som viser bruken av Highbyte () -funksjonen:

void setup ()
// Initialiser seriell kommunikasjon med 9600 biter per sekund:
Serie.Begynn (9600);

void loop ()
// Opprett en 16-bits heltallverdi:
usignert int myValue = 0xabcd;
// trekke ut den høye byten fra 16-biters verdi:
usignert char highbyTevalue = highbyte (myValue);
// Skriv ut den opprinnelige verdien og den høye byteverdien til seriemonitoren:
Serie.print ("original verdi:");
Serie.trykk (MyValue, Hex);
Serie.print (", høy byteverdi:");
Serie.Println (HighbyTevalue, Hex);
// Vent i 1 sekund før du gjentar sløyfen:
forsinkelse (1000);

I dette eksemplet initialiserer Setup () -funksjonen seriell kommunikasjon med en baudfrekvens på 9600. Loop () -funksjonen skaper en 16-bits heltallverdi MyValue, trekker ut sin høye byte ved hjelp av Highbyte () -funksjon, og skriver deretter ut både den opprinnelige verdien og den høye byteverdien til seriemonitoren ved hjelp av serien.print () funksjon. Forsinkelsesfunksjonen brukes til å pause løkken i 1 sekund før du gjentar.

Når du laster opp denne koden til et Arduino -brett og åpner seriemonitoren, bør du se den opprinnelige verdien 0xabcd og den høye byteverdien 0xab trykt gjentatte ganger, en gang hvert sekund.

Konklusjon

Highbyte () -funksjonen er en essensiell funksjon i Arduino som lar brukeren trekke ut den mest betydningsfulle byten fra en 16-bits variabel. Det er nyttig når du arbeider med 16-bits variabler, for eksempel ADC-verdier, PWM-verdier og tidsverdier. For mer detalj på HighByte () Funksjonsparameter, Returverdi og syntaks, les artikkelen.