gamecounter
21.03.2006, 20:11
Hey!
ich habe an meinen atmega 8 einen drehgeber angeschlossen. dazu folgende auswertung geschrieben:
if (KeyB!=buffer){
if(KeyA == KeyB)
counter++;
else
counter--;
buffer = KeyB;
WriteVal(counter);
}
Dieser Codeteil wird als interrupt bei jeder änderung von KeyB ausgeführt.
(KeyA und KeyB sind die beiden signale).
Nun is es nun aber so, dass einfach manchmal zyklen ausgelassen werden bzw falsch ausgewertet werden (dh in die falsche richtung zählen).
im grunde funktioniert das prog sonst.
ps: ich denke nicht, das es fehler sind, die durch kontaktprellen entstehen oder so,....
vielleicht könnt ihr mir helfen
mfg gamecounter
ich habe an meinen atmega 8 einen drehgeber angeschlossen. dazu folgende auswertung geschrieben:
if (KeyB!=buffer){
if(KeyA == KeyB)
counter++;
else
counter--;
buffer = KeyB;
WriteVal(counter);
}
Dieser Codeteil wird als interrupt bei jeder änderung von KeyB ausgeführt.
(KeyA und KeyB sind die beiden signale).
Nun is es nun aber so, dass einfach manchmal zyklen ausgelassen werden bzw falsch ausgewertet werden (dh in die falsche richtung zählen).
im grunde funktioniert das prog sonst.
ps: ich denke nicht, das es fehler sind, die durch kontaktprellen entstehen oder so,....
vielleicht könnt ihr mir helfen
mfg gamecounter