Serie.setTimeout () - Arduino
Serien.setTimeout () -funksjonen i Arduino brukes til å angi maksimal tid i millisekunder at programmet vil vente på seriedata. Som standard er den faste timeout 1000 millisekunder. Serien.setTimeout () -funksjonen kommer fra strømklassen i Arduino, som gir et sett med vanlige måter å jobbe med innganger/utganger.
Serien.setTimeout () -funksjonen er nyttig når du jobber med langsomme eller upålitelige tilkoblinger.
Syntaks
Syntaks for seriell.setTimeout () -funksjonen er:
Serie.setTimeout (tid)
Parametere
Å bruke seriell.setTimeout (), du må gi seriell portobjekt som den første parameteren, og varigheten av tidsavbruddet i millisekunder som den andre parameteren. Varigheten kan uttrykkes som en lang datatype.
Time-out periodverdien er i millisekunder (MS). Denne tidsavbruddsverdien er usignert lang som starter fra 1 og går opp til 4294967295 millisekunder.
Returnerer
Denne funksjonen returnerer ingen verdi.
Serie.GetTimeout () - Arduino
Serien.getTimeout () -funksjonen returnerer gjeldende tidsperiode for seriell kommunikasjon. Det kan brukes til å bestemme gjeldende tidsperiode eller for å gjenopprette standard tidsperiode-utperioden.
Syntaks
Syntaks for seriell.getTimeout () -funksjonen er:
Serie.getTimeout (tid);
Parametere
Denne funksjonen tar ingen parametere.
Returnerer
Denne funksjonen returnerer den angitte timeoutverdien som er som standard 1000ms og kan endres ved hjelp av serien.GetTimeout (). Datatypen av returverdien er usignert lenge.
Eksempelkode
I det følgende eksemplet får vi den nåværende tidsperioden ved å bruke serien.getTimeout () -funksjon. Vi skriver deretter ut tidsperioden til seriemonitoren. Deretter endret vi tidsperioden til 5 sekunder og trykket den deretter igjen på seriemonitoren.
void setup ()
Serie.Begynn (9600); // Initialiser seriell kommunikasjon med 9600 biter per sekund
usignert lang standardtid = seriell.getTimeout (); // Få standard time-out-periode
Serie.PRINT ("Standard tidsperiode er:");
Serie.println (standardTimeout); // Skriv ut standard tidsperiode til seriemonitoren
Serie.setTimeout (5000); // Angi tidsperioden til 5000 millisekunder (5 sekunder)
usignert lang timeout = seriell.getTimeout (); // Få gjeldende tidsperiode
Serie.trykk ("Nåværende time-out-periode er:");
Serie.println (timeout); // Skriv ut gjeldende tidsperiode til seriemonitoren
void loop ()
I ovennevnte kode oppsett () Funksjon initialiserer seriell kommunikasjon med 9600 biter per sekund og får standard tidsavbruddsperiode ved hjelp av serien.getTimeout () -funksjon. Standard tidsavbruddsperiode vises deretter på seriemonitoren.
Neste, serien.Settimeout () -funksjonen brukes til å sette den nye tidsavbruddsperioden til 5 sekunder (5000 millisekunder).
Loop () -funksjonen henter deretter gjeldende tidsavbruddsperiode ved å bruke serien.GetTimeout () -funksjonen og viser den på seriemonitoren. En forsinkelse på 1 sekund legges til før du skriver ut neste verdi for å forhindre at seriemonitoren blir oversvømmet med data. Denne koden kan brukes til å bekrefte at tidsavbruddsperioden er satt riktig og at serien.getTimeout () -funksjonen fungerer som forventet.
Produksjon
I utgangen kan vi se både standard timeout og ny timeout skrives ut på seriemonitoren.
Konklusjon
De Serie.setTimeout () og Serie.GetTimeout () Funksjoner er viktige verktøyfunksjoner på Arduino -språket. Serie.setTimeout () setter maksimal tid i millisekunder at programmet vil vente på seriedata, mens seriell.getTimeout () henter gjeldende tidsavbruddsperiode. Disse funksjonene er nyttige for å jobbe med eksterne enheter som kanskje ikke alltid gir data innen en bestemt tidsramme.