Forum: Mikrocontroller und Digitale Elektronik PIC18F4550 WErt cycle geht immer einen Schritt zu weit


von Raphi (Gast)


Lesenswert?

Hallo ich hätte eine Frage. Mein Programm sieht so aus.
waehlen ist ein Taster
while (Waehlen == 0)
                {

                    lcd_clear();
                    sprintf(str, "PWM %: %d", cycle);
                    lcd_writeStr(str);

                    CCPR1L = cycle;



                    if (direction == 1)
                    {

                        cycle += 5;

                    } else {
                        cycle -= 5;

                    }
                    if (cycle > 55)
                    {
                        direction = 0;

                    }
                    if (cycle < 5)
                    {
                        direction = 1;

                    }


                    // wait for a while
                    delay_ms(400);
                }

solange der Taster gedrückt ist zählt er also in 5 er Schritten auf 60 
und wieder runter. Das Problem ist nun wenn ich auf 50 anhalte und 
nachher gerne mit diesem Wert arbeiten möchte geht er immer einen 
Schritt weiter also entweder auf 55 oder 45. Weis einer wie ich das 
abschalten oder evaluieren kann danke.

von Raphi (Gast)


Lesenswert?

Also ich habe herausgefunden dass nachdem ich den Taster loslasse direkt 
die Zahl noch eines weiter wandert. Kann ich das irgendwie entprellen?
Wäre dankbar für jede Hilfe:)

von Raphi (Gast)


Lesenswert?

Fehler gefunden. Auch ein Dummkopf findet irgendwann das Problem :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.