Hallo ThomasC.,

also in der Schaltung des Asuro würde ich den Fehler eigentlich nicht suchen. Wenn Du alles richtig zusammengelötet hast, sollte das schon funktionieren. Das Hauptproblem bei den Tastern ist ja, dass nicht immer der richtige Wert zurückgegeben wird - das Problem besteht aber für Deine Aufgabe nicht. Um das richtige Ergebnis zu bekommen, muss man halt PollSwitch mehrfach aufrufen (Ich rufe PollSwitch() am Anfang des Programms ein paar mal auf, um sicher zu gehen...)

Ein Problem sehe ich aber bei dem code, den Du verwendest. Wenn meine C-Kenntnisse mich zu später Stunde nicht schon verlassen haben, dann ruft
Code:
while(PollSwitch()||PollSwitch()==0)
die Funktion PollSwitch immer doppelt auf und verknüpft das als zwei Bedingungen mit einem logischen ODER. Bin nicht ganz sicher, was Du damit erreichen willst. Wenn kein Taster gedrückt ist, gibt PollSwitch 0 zurück, sonst einen Wert für die Taste. Wenn also eine Taste gedrückt ist, wird der erste Teil Deiner Bedingung 'wahr'. Ist aber keine Taste gedrückt, ist der zweite Teil der Abfrage [PollSwitch()==0] 'wahr'. Das würde erklären, dass er auf den Taster nicht reagiert. Er verlässt die while-Schleife wohl nur, wenn Du den Taster im richtigen Moment loslässt.

Schau Dir am besten nochmal Deinen Programmcode genau an. Wie auch im Asuro-Handbuch in einem Beispiel steht, sollte
Code:
while (PollSwitch()==0)
schon ausreichen, um den Inhalt der while-Schleife, bis zu einer Kollission auszuführen.

Wenn Du nicht weiter kommst, kannst Du ja auch nochmal das gesamte Programm hier posten.

Viel Erfolg
kanal28