Hallo zusammen! Bei einem mC-Programm in Assembler muss ich 32 Eingänge respektiv Tasten entprellen. Es ist von grosser Wichtigkeit dass die Entprellung 100% funktioniert. Die Abarbeitungszeit der Entprellroutine muss nicht wahnsinnig schnell sein. Die 32 Eingänge sind über Latches am mega32 mC angeschlossen. Ich entprelle nun immer 8 Eingänge indem ich 200 mal nacheinander den gleichen Zustand verlange. Das Spiel wiederhole ich mit den anderen 3 Latches. Dadurch wird die entprellroutine zwar langsam aber hoffentlich todsicher. Nun würde ich gerne Wissen was ihr dazu meint, resperktiv was ich besser machen kann. Wenn eine Taste prellt, mit welcher Frequenz tut sie das ungefähr? Das habe ich bis jetz nicht herausgefunden und davon hängt meiner Meinung nach alles ab.
"200 mal nacheinander den gleichen Zustand verlange." Das ist kein Entprellen, sondern Zufall, wenn es funktioniert. Wichtig ist das Intervall, nachdem man nochmal abtastet, dann reichen oft 2 Abtastungen, sicher sind auf alle Fälle 4 Abtastungen. Als Intervall hat sich 5ms ... 50ms bewährt, da die Prellzeiten so im Bereich 1ms ... 10ms liegen. In der Codesammlung ist ein Beispiel für 8 Tasten (bulletproof), einfach dann 4-mal ausführen für 32 Tasten. Peter
Prellzeiten im Bereich 1ms - 10ms, hmmm dass die so langsam prellen hätte ich nicht gedacht. Bei meiner Routine kann es also passieren dass während dem Prellen keine Zustandsänderung passiert und ich somit ein falscher Zustand als gültig annehme. Danke Peter! Ich werde deine Routine mal anschauen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.