Peter Dannegger's Debounce Routine für Xmega

OP #2830802
Lesenswert?

Hallo zusammen,

ich bin gerade dabei die debounce Routine von Peter Dannegger auf einen 
Xmega 256A3 zu portieren.
Im Prinzip funktioniert es auch schon. Also die Led's toggeln bei 
Tastendruck.
Problem ist nur das noch etwas mit den Zeiten nicht stimmt. Bei der 
get_key_press funktion dauerts ca 0,5 Sekunden und bei get_key_long
dauert es 5,5 Sekunden.
Ich denke mal es liegt an der Preload Zeit für den Timer.
Habe es auch mal ohne die Formel versucht allerdings ist das Ergebnis 
das gleiche. (TCC0.PER = 0x0138; statt TCC0.PER = 
(uint8_t)(int16_t)-(F_CPU / 1024 * 10e-3 + 0.5))

Hat jemand eine Idee was ich falsch gemacht habe ?
Code hab ich mal angehängt.

Setup: AtXmega @ 32 Mhz ; 8 LED's an PORT D ; 8 Taster an PORT A

Vielen Dank schonmal

Gruß Stefan
Angehängte Dateien:

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