Buggfix Plus
Aktuellt datum och tid: 04.37 2019-05-26

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 4 inlägg ] 
Författare Meddelande
 Inläggsrubrik: Arduino funktion void
InläggPostat: 04.39 2019-01-13 
Admin
Användarvisningsbild

Blev medlem: 14.59 2003-05-26
Inlägg: 7883
Ort: Solna
Ibland när jag kollar på exempelkod så ser jag saker som jag inte begriper.

Ex.
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
void loop() {
  theaterChase(strip.Color(127, 127, 127), 50); // White
  theaterChase(strip.Color(127,   0,   0), 50); // Red
  theaterChase(strip.Color(  0,   0, 127), 50); // Blue

  rainbow(20);
  rainbowCycle(20);
  theaterChaseRainbow(50);
}

Om vi tar rainbow(20); så är det (20) som jag inte förstår innebörden av. Först trodde jag att det var kör den här funktionen 20 gånger, men om jag skriver 20 på en egen funktion så får jag felmeddelande.
Kodexemplet kommer från Adafruits NeoPixel testkod.


Upp
 Profil  
 
 Inläggsrubrik: Re: Arduino funktion void
InläggPostat: 04.43 2019-01-13 
Användarvisningsbild

Blev medlem: 14.52 2005-01-10
Inlägg: 23784
Ort: Aabenraa, Danmark
Det betyder att "rainbow" får värdet 20 att leka med.

Den funktion kan vara definierat som följer:
void rainbow(int Value);

Det betyder:
rainbow är en funktion som inte ger tillbaka något värde (första "void") men som begär ett värde att jobba med (int Value).

I rainbow() kan man t.ex. skriva:
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
void rainbow(int Value)
  {
  while(Value)
    {
    ... // Do whatever needs to be done
    }
  }


Upp
 Profil  
 
 Inläggsrubrik: Re: Arduino funktion void
InläggPostat: 05.21 2019-01-13 
Admin
Användarvisningsbild

Blev medlem: 14.59 2003-05-26
Inlägg: 7883
Ort: Solna
Humm...

Här är funktionen:
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

Så du menar att (20) stoppas in i wait.


Upp
 Profil  
 
 Inläggsrubrik: Re: Arduino funktion void
InläggPostat: 05.53 2019-01-13 

Blev medlem: 11.20 2009-05-26
Inlägg: 5644
Ort: Kristinehamn
Japp. 20 kommer att stoppas in i delay(wait); så den blir delay(20);


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 4 inlägg ] 

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010