Habe die entprellfunktion aus dem Tutorial genommen und in einer Interrupservice routine gepackt, diese funktioniert auch. benutzt wird ein avr atmega16 @8mhz. ansteuern will ich eine 3x 4 matrix tastatur. habe diese wie hier um forum beschriben angesteuert: 3 eingänge und 4 ausgänge zeilen nacheinander abfragen usw. das is aber nicht hauptproblem, sondern das die taster wie sau prellen. bisher habe ich immer hardwaremäißg entprellt mit rs flop. also warum kann es liegen das die taste manchmal als gedrückt erkannt wird und manchmal nicht. das komischste is, wenn ich ein messgerät (mit spannungsmessung) parallel zu dem pull up widerstand schalte, dann alles funktioniert meine schaltung (siehe anhang) ich nehme aber ein avr kein pic ist nur ein bild ausm forum. 1 K widerstände verwende ich auch
> wieso keiner? Nicht die Nerven Verlieren, wenn mal keiner innerhalb 1h antwortet ;-) Überlege mal wie du die Schaltung aufbauen kannst, ohne dass du floatende Eingänge RB4 bis RB7 hast... Nicht floaten heisst, du hast immer definiert einen HIGH oder LOW Pegel am Eingangspin. Z.B. RB4 bis RB7 als Eingänge mit internen Pullups. Über die Taster dann an die Ausgänge RB0 bis RB3. Zur Abfrage die Ausgänge standardmässig auf HIGH, nur die im Moment abzufragten Tastenreihe den Ausgang auf LOW. Dann die Eingänge abfragen (PINx). Auf diesem Weg kannst du ggf. die externen Widerstände sparen (wenn in der Software sichergestellt ist, dass RB4 bis RB7 nie Ausgang werden) Hier (Beitrag "2x5 Tastenmatrix an AT90USB1287") hatten wir mal lange mit sowas gekämpft. Es gab da zwischen Andreas und mir ein paar Mistverständnisse zur Schaltung, daher nicht alles im Thread nachbauen! Aber die dort verwendete Abfrageroutine inkl. Entprellung von Peter Dannegger ist ein feines Stück Software...
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.