Forum: Compiler & IDEs Frage zur Entprellroutine


von Jo H. (snipor)


Angehängte Dateien:

Lesenswert?

Ich habe folgendes Problem mit der Entprellroutine von Peter Dannegger.

Die Erkennung eines kurzen bzw langen Tastendruckes funktioniert nicht 
immer.

Mein Testaufbau besteht aus einem Attiny 2313 auf einem STK500. Ich
verwende die internen 8MHz und den 8er Teiler.

Folgendes Szenario:
Ich drücke die Taste kurz, ein kurzer Tastendruck wird erkannt.
Sofort drücke ich die Taste nochmal, ein langer Tastendruck wird
erkannt.

Dieses Verhalten tritt des öfteren auf.

Wenn ich also die Taste dauernd kurz drücke wird meistens ein kurzer
Druck erkannt, jedoch manchmal auch einer langer Tastendruck.

Ich habe auch REPEAT_START mittlerweile auf 2s, jedoch wird der lange
Druck schon viel früher erkannt.
Nach meinem empfinden ist die Erkennungszeit für einen langen
Tastendruck nicht immer gleich.

Was könnte da falsch sein?

Stimmt da evtl. was mit dem Timerüberlauf nicht?

Danke

von Uwe (Gast)


Lesenswert?

Hallo,

sagmal was soll das mit der keyoutine.h Datei?

Für was werden *.h Dateien verwendet?

Mir ist völlig unklar wie schell den atTiny läuft.
Rechne bittev mal den Ausdrck aus (F_CPU / 1024 * 10e-3).

von Jo H. (snipor)


Lesenswert?

Hallo Uwe,

mir ist klar dass das extrem unsauber mit dem header file ist.

Der Takt ist 1MHz, sollte er zumindest sein.

Dann liefert der Ausdruck ~0,97.

Danke

von Uwe (Gast)


Lesenswert?

Hallo Jürgen,

als Mathematker muss ich schreiben - falsch !

Mache Dir bitte über das Datenblatt bewusst wie man den timer0 nutzt.

Nur so kannst du dein Programm auf Papier durchspeilen.

ok?

von Jo H. (snipor)


Lesenswert?

Hallo Uwe,

hatte mich vertan der Ausdruck liefert ~9,76.

Aber kann es daran liegen? Die originale Routine arbeitet auch mit 1MHz, 
und an dem Ausdruck habe ich nichts verändert.

Danke

von Uwe (de0508)


Lesenswert?

Hallo,

ich wollte nur, dass Du dich mit deiner eigenen Frage

'Stimmt da evtl. was mit dem Timerüberlauf nicht?'

beschäftigst.

Dann ist die selbe Frage auch im anderen Beireich, so dass Peter schon 
alles weitere geschrieben hatte.

Ich bin hier dann raus.

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.