Entprellen mikrocontroller-Anhang

OP #4666051
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 ?
Gast #4666059
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.

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