ledFade Funktion funktioniert nicht.

Gast #4219756
Lesenswert?
• ▲
▼
Der Fade funktioniert nicht. Ich übergebe den Wert von value und reverse 
und erwarte, dass dieser hoch oder runtergezählt wird. Jedoch bleibt er 
konstant.
1
int8_t fadeLeds(uint16_t duration)
2
{
3
  static uint32_t lastMillis = 0;
4
  static uint8_t value = 20;
5
  static int8_t reverse = 0;
6

7
  if (millis() - lastMillis >= duration)
8
  {
9
    lastMillis = millis();
10
    fade(&value, &reverse);
11
    for (uint8_t led = 0; led < NUM_LEDS; led++) leds[led] = CHSV(hue, 255, value);
12
  }
13
}
14

15
int8_t fade(uint8_t *value, int8_t *reverse)
16
{
17
  if (*reverse == 0)
18
  {
19
    if (*value < 255) *value++;
20
    else
21
    {
22
      *reverse = 1;
23
      *value--;
24
    }
25
  }
26
  else
27
  {
28
    if (*value > 0) *value--;
29
    else
30
    {
31
      *reverse = 0;
32
      *value++;
33
    }
34
  }
35
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.