Hallo
was ist das für ein ansatz, dass taste2 immer wieder mit taste1 überschrieben wird?
Das ist mein Ansatz, taste2 speichert den letzten PollSwitch()-Wert, der in taste1 steht, am Ende der Schleife bevor am Anfang der Schleife ein neuer Wert in taste1 eingelesen wird.
Das wird jetzt aus zwei Gründen etwas kritisch. Erstens vergeht die z-Schleifenzeit zwischen den Tastenabfragen. Zweitens, und das ist wohl das Problem, wird der if-Zweig auch ausgeführt, wenn ein Tastenwert erkannt wird, der nicht 1,2,4,8,16 oder 32 ist. Also wenn z.B. mehr als eine Taste gedrückt wird, oder wenn die Taster nicht richtig kalibriert sind. Weil aber für l und r keine Defaultwerte zu Beginn des If-Zweigs definiert wurden, macht der asuro das letzte gültige nochmal. Ein schneller Test wäre z.B.:
Code:
if (taste1 && (taste1==taste2))
{
l=r=0;
if (taste1==1) {l=90;r=120;}
Wenn der zweite Fall eintritt, bleibt er einfach stehen.
Gruß
mic
Lesezeichen