PIC18F4550 WErt cycle geht immer einen Schritt zu weit

Gast #4618375
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren