Gast
#1694
Hallo!
Ich möchte tastendrücke zählen. hierzu habe ich pin T0 mit 14k hoch
gezogen und per taster auf gnd (wie im tutorial).
timer/counter0 habe ich dann auf extern konfiguriert. doch bei jedem
tastendruck wird der counter gleich mehrfach inkrementiert. nur wenn ich
die taste drücke und bis zum auslesen von tcnt0 gedrückt halte, erhalte
ich die richtige zahl (nämlich 1).
habe daraufhin in assembler eine art counter geschrieben:
count:
sbic PIND,1
rjmp count
pressed:
inc anzahl
wait:
sbis PIND,1 ;wait as long as bit cleared
rjmp wait
rjmp count
dieser code sollte eigentlich solange zählen, bis er unterbrochen wird
(z.B. per timer1). aber auch dieser code inkrementiert <anzahl> mehrfach
pro tastendruck. auch hier stimmt der wert, wenn ich den taster gedrückt
halte und bis zum auswerten von anzahl nicht loslasse...
muss ich den taster irgendwie anders anschließen? was ist da falsch.
mein elektronikhändler hat mir den taster als "entprellt" verkauft...