Sehe ich das richtig, dir fehlt die Verzögerung? Dann solltest du mal in der asuroanleitung unter Sleep() (Kapitel 9.2.5) nachschauen:
Code:
#include "asuro.h"
unsigned int i;
int main(void)
{
Init();
while(1)
{
if(PollSwitch() == 0)
{
StatusLED(RED);
}
else
{
StatusLED(YELLOW);
for(i=0; i<1000; i++) Sleep(72); // bei neueren Libs 36 für 1/1000sec
}
}
return(0);
}
Anstelle der StatusLED kommen dann die Motorfunktionen...
[Edit]
Weil ich heute unterwegs bin hier noch vorsorglich der Code mit sicherer Tastenabfrage:
Code:
#include "asuro.h"
unsigned int i;
int main(void)
{
Init();
while(1)
{
if(PINC & (1<<PC4)) // Tasteneingang direkt abfragen
{
StatusLED(RED);
MotorDir(FWD,FWD);
MotorSpeed(150,150);
}
else
{
StatusLED(YELLOW);
MotorDir(RWD,RWD);
MotorSpeed(0,150);
for(i=0; i<1000; i++) Sleep(72); // bei neueren Libs 36 für 1/1000sec
}
}
return(0);
}
Lesezeichen