Forum: Mikrocontroller und Digitale Elektronik Entprellen mikrocontroller-Anhang


von Martin M. (ats3788)


Lesenswert?

Hallo
In dem Link
https://www.mikrocontroller.net/attachment/100189/Drehgeber.c

welche ich benutze , danke für die Funktionen
steht am ende

DDRD  &= ~(1<<PD6); //als Eingang setzen
  PORTD |=   1<<PD6;  //Eingang Abfragen
  DDRC  |=   1<<PC5;  //Als Ausgang setzen

  for(i = 0; i < 2; i++){
    if( debounce( PIND, PD6 ) )
      PORTC ^= 1<<PC5;   //toggle/schreibe PC5 in PORTC

was verbirgt sich hinter der debounce( PIND, PD6 ) function?
und
weiter sollte es nicht DDRD |= 1<<PD6 heißen ?

von qwertz (Gast)


Lesenswert?


von MaWin (Gast)


Lesenswert?

Martin M. schrieb:
> was verbirgt sich hinter der debounce( PIND, PD6 ) function?

Es geht um den Taster auf einem Drehgeber, also neben der Möglichkeit 
ihn zu drehen noch um die Möglichkeit auf ihn draufzudrücken.

Das ist ein normaler Taster der hier mit entprellt wird wie hier:
https://www.mikrocontroller.net/articles/Entprellung

So richtig schlau ist das nicht, für den Drehgeber einerseits die 
intelligente zeitgebergesteuerte polling-Abfarge zu verwenden um prellen 
und Flattereffekte gar nicht erst auftreten zu lassen, andererseits 
nicht auch genau dieselbe Interrupt-Routine einzusetzen um gleich den 
Knopf Taster selbst mit zu entprellen.

von Martin M. (ats3788)


Lesenswert?

Danke
für die INfos

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.