Zitat Zitat von Dreamer001
Asuro soll wenn Kollisionstaster gedrückt ist rückwärts fahren, nur habe ich das problem dass wenn ich den Taster loslasse wieder aus der Schleife rausfällt und wieder vorwärts fahrt!
Du bräuchtest als ne Funktion, die dem Programmablauf einfach ne gewisse Zeit pausieren lässt, damit der Asuor erstr mal ne gewisse Zeit rückwärts fährt, bis der Taster wieder abgefragt wird. Die nennt sich _delay_ms(); und steht in der Datei delay.h.
So kommst du dran:
#include <util/delay.h>
am Aunfagn des Programms, nach #include "asuro.h"

Aufrufen könntest du sie dann über diese Funktion
void warte (int loop) //loop: wartezeit in ms
{
int i;
for(i=0;i<loop;i++) _delay_ms(1);
}
Der Parameter loop gibt die Wartezeit in Milisekunden an. Bei warte(500); würde der Asuro als ne halbe Sekunde rückwärts fahren.



Zitat Zitat von Dreamer001
P.S. meine C.lektüre ist zum vergessen, gibt es im netz wo freeware C-Bücher???
C allgemein:
http://de.wikibooks.org/wiki/C-Programmierung
und die AVR-Spezifischen Sachen:
http://www.mikrocontroller.net/artic...R-GCC-Tutorial