LED-Fading Fehler

OP #6852788
Lesenswert?
• ▲
▼
Hallo Forum,
ich rätsle gerade an einem kleinen, eigentlich total billigen Stück 
Code. Es geht darum, eine LED (später mit Leistung) sehr langsam faden 
zu lassen. Dabei wird es 3 Möglichkeiten geben (Auswahl über Schalter 
EIN-AUS-EIN):
1) je nach Befehl über I2C sehr langsam (1h) an oder aus
2) deutlich schneller (ca. 13s) ein
3) deutlich schneller (ca. 13s) aus

Variante 1 (beide Richtungen) und 2 funktionieren sehr gut, Variante 3 
dagegen nicht. In diesem Fall geht die LED einfach aus. Die beiden 
verantwortlichen Eingänge sind nicht entprellt, das schließe ich als 
Ursache aber aus, weil Variante 1 und 2 problemlos funktionieren.

Dies ist mein an der Stelle genutzter Code, wenn der Ausschnitt nicht 
reicht, gibt es mehr.
1
switch(PINB & 0x18){
2
  case 0x08:  //AUTO
3
    if(millis - lastchange >= delayms){
4
      lastchange = millis;
5
      if(config == 1){
6
        if(OCR1A < 255)
7
          ++OCR1A;
8
        else
9
          config = 0;
10
      }//end if
11
      if(config == 2){
12
        if(OCR1A > 0)
13
          --OCR1A;
14
        else
15
          config = 0;
16
      }//end if
17
    }//end if
18
    break;
19
  case 0x10:  //EIN
20
    if(millis - lastchange >= 50){
21
      lastchange = millis;
22
      if(OCR1A < 255)
23
        ++OCR1A;
24
    }//end if
25
    break;
26
  case 0x18:  //AUS
27
    if(millis - lastchange >= 50){
28
      if(OCR1A > 0)
29
        --OCR1A;
30
    }//end if
31
    break;
32
}//end switch
Das ganze läuft auf einem ATtiny25.
Ich vermute, dass die Lösung trivial ist, aber nach 2 Tagen gegrüble 
sehr ich sie einfach nicht.

Vielen Dank im Voraus!
Lesenswert?
• ▲
▼
Martin schrieb:
> Warum verwenden so wenig Leute einen Debuger oder machen einfach ein
> paar Debugausgaben im Terminal?

Weil Sie meist noch Anfänger sind und noch wie ein Blinder durch den 
Wald stapfen.

Michael K. schrieb:
> Nach dem x-ten Mal lesen habe ich die Antwort verstanden.
> Trivial, wie ich ja schon vermutet habe.
> Vielen Dank!!!

Ja Sorry, bin "manchmal" schreibfaul.
Wenn man sowas nich sieht, heißt das meist nur "Junge mach mal Pause!". 
:)
OP
Lesenswert?
• ▲
▼
Martin schrieb:
> einfach ein paar Debugausgaben im Terminal?
welches Termin, bei einem stumpfen ATtiny?

Martin schrieb:
> Warum verwenden so wenig Leute einen Debuger
Teo D. schrieb:
> Weil Sie meist noch Anfänger sind
Ich würde mich nicht mehr als Anfänger bezeichnen, aber ich komme eher 
von der Hardware-Seite, meine Programm waren bis jetzt eher 
übersichtlich und wie der Debugger im Atmel Studio funktioniert habe ich 
noch nicht herausgefunden (und auch noch nicht ernsthaft versucht)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.