darkshape
07.01.2007, 23:23
Hallo,
hab soeben mein erstes eigenes Asuro-Programm fertiggestellt.
Hab aber noch ein paar kleine Problemchen.
Erste frage - wenn ich Asuro über den Seriellen IR-Programmer flashe,
prüft der dann ob alles richtig ist, oder schreibt der einfach rein ?
(nur mal so interessehalber)
Mein Problem: Mein Asuro folgt der Software und fährt geradeaus.
Bei kollision fährt er zurück und wendet, fährt dann geradeaus weiter.
plötzlich fährt er aber wieder zurück (ohne kollison) - rein willkürlich.
sind die taster sehr empfindlich ? (der boden ist uneben) oder ist das der kondensator ?
hier mal mein code:
#include "asuro.h"
int drive(void)
{
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(140,140);
}
int crash(void)
{
StatusLED(YELLOW);
MotorDir(RWD,RWD);
//MotorSpeed(80,120);
int i;
for (i=0; i<1000; i++)
{
Sleep(255);
}
}
int main(void)
{
Init();
unsigned char taste;
while (1)
{
taste = PollSwitch();
SerWrite(taste,1);
if (taste == 0) {drive();}
else
{crash();}
}
crash();
while(1);
return 0;
}
In der Haputschleife hab ich eine Funktion, die den Wert der Tasters
seriell ausgeben soll. BEVOR diese funktion drin war, is er nur rückwärts gefahren. seit sie drin ist, fährt er vorwärts - was mir vollkommen unerklärlich ist....
jemand ne idee ?
vielen dank...
grüsse,
henning[/code]
hab soeben mein erstes eigenes Asuro-Programm fertiggestellt.
Hab aber noch ein paar kleine Problemchen.
Erste frage - wenn ich Asuro über den Seriellen IR-Programmer flashe,
prüft der dann ob alles richtig ist, oder schreibt der einfach rein ?
(nur mal so interessehalber)
Mein Problem: Mein Asuro folgt der Software und fährt geradeaus.
Bei kollision fährt er zurück und wendet, fährt dann geradeaus weiter.
plötzlich fährt er aber wieder zurück (ohne kollison) - rein willkürlich.
sind die taster sehr empfindlich ? (der boden ist uneben) oder ist das der kondensator ?
hier mal mein code:
#include "asuro.h"
int drive(void)
{
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(140,140);
}
int crash(void)
{
StatusLED(YELLOW);
MotorDir(RWD,RWD);
//MotorSpeed(80,120);
int i;
for (i=0; i<1000; i++)
{
Sleep(255);
}
}
int main(void)
{
Init();
unsigned char taste;
while (1)
{
taste = PollSwitch();
SerWrite(taste,1);
if (taste == 0) {drive();}
else
{crash();}
}
crash();
while(1);
return 0;
}
In der Haputschleife hab ich eine Funktion, die den Wert der Tasters
seriell ausgeben soll. BEVOR diese funktion drin war, is er nur rückwärts gefahren. seit sie drin ist, fährt er vorwärts - was mir vollkommen unerklärlich ist....
jemand ne idee ?
vielen dank...
grüsse,
henning[/code]