Ja, ich blicke das Programm (hab keinen Asuro) nicht ganz, aber es wäre gut, wenn der eine oder andere Kommentar drinnen wäre und vor allem: wenn was nicht klappt, wirft man erstmal sämtliches unnötige heraus. Der arme Asuro hat ja mehr mit warten und blinken zu tun, als er fährt.
Gewöhn dir bitte an, erst die eigentliche Programmaufgabe zu lösen, solche Spielereien wie das ganze Geblinke (ich mag das auch, keine Sorge) baut man ein, wenn das Grundprogramm läuft.

Aufgefallen ist mir: du hast zwei Unterprogramme "Drehen" definiert?
Einmal bereits vor main(), dort aber leer und unten nochmal, wozu das?
Um die Compiler-Warnung auszutricksen?

Ausserdem wird das eigentliche Drehen-Unterprogramm nie richtig beendet da fehlt das return() am Schluss.
Gut möglich, dass das gesamte Programm deswegen an der Stelle hängen bleibt.
Dann wird die Funktion nie beendet und somit der switched nie =false.