Forum: Test Testtesttest


von at (Gast)


Lesenswert?

1
void rotary_enc()
2
{
3
  currentTime = millis();
4
  if (currentTime >= (loopTime + 2)) {
5
    encoder_A = digitalRead(pin_A);
6
    encoder_B = digitalRead(pin_B);
7
    if ((!encoder_A) && (encoder_A_prev)) {
8
      if (encoder_B) {
9
        Freq = Freq + ChanStep;
10
        if (Freq > 440000000) {
11
          Freq = 3500000;
12
        }
13
      }
14
      else {
15
        Freq = Freq - ChanStep;
16
        if (Freq < 3500000) {
17
          Freq = 440000000;
18
        }
19
      }
20
    }
21
    encoder_A_prev = encoder_A;     
22
    loopTime = currentTime;         
23
  }
24
}

von dodo (Gast)


Lesenswert?

Ähhh,ja. Genauso

von Sebastian R. (sebastian_r569)


Lesenswert?

So kann man es machen, besser ist es aber, auf Flanken zu reagieren, 
anstatt auf Zustände zu einem Zeitpunkt.

Beitrag #5825744 wurde vom Autor gelöscht.
Beitrag #5961926 wurde vom Autor gelöscht.
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.