inka
23.12.2009, 07:16
hi allerseits,
mit folgendem progrämmchen, welches ich zusammengestückelt habe gibt es probleme:
#include "asuro.h"
int main(void)
{
Init();
DDRD |= (1 << DDD1); // Port D1 als Ausgang
PORTD &= ~(1 << PD1); // PD1 auf LOW
// OCR2 = 0xEF; // Pulsbreite 16
// MotorSpeed(255,255); // volle Kraft
// MotorDir(FWD,FWD); // voraus
StatusLED(YELLOW);
Msleep(400);
while (1)
{
if (PIND & (1 << PD0)) { // wenn kein IR-Echo
BackLED(OFF,OFF);
// MotorDir(FWD,FWD); // dann vorwärts
StatusLED(GREEN);
Msleep(400);
StatusLED(YELLOW);
}
else { // sonst
BackLED(ON,ON);
// MotorDir(RWD,FWD); // nach links
StatusLED(RED);
}
}
return 0;
}
die statuslED leuchtet kurz gelb auf, wird grün und bleibt es. wechselt nicht wieder zu gelb, was sie m.e. nach sollte. Auch beim simulieren eines hindernisses wechselt sie nicht zum rot...
ausprobiert mit zwei normalen AM 8 (kein asurochip), an zwei asuros abwechselnd, was auf sodftware schliessen lässt (?)
was mich iritiert ist, dass mit dem original asuro prozessor auch die übertragung zum hyperterminal zwar funktioniert, aber beim selbsttest kommen die vom asuro gesendeten zeichen eher sporadisch, eine verbindung zum flaschen mit USB-adapter lässt sich nicht ausfbauen. nach dem versuch die seite 1 zu flaschen ist schluss (asuro dead)...
könnt ihr mir bitte helfen?
edit: nochmaliger versuch beim flaschen über USB-IR ging bei beiden asuros, bleibt also ein softwarefehler. Aber wo?
noch etwas seltsames: wenn ich den eingeschalteten asuro (statusLED grün) in den lichtkegel meiner tischlampe eintauche, wird die statusLED rot! beim rausholen aus dem licht wird sie wieder grün...
mit folgendem progrämmchen, welches ich zusammengestückelt habe gibt es probleme:
#include "asuro.h"
int main(void)
{
Init();
DDRD |= (1 << DDD1); // Port D1 als Ausgang
PORTD &= ~(1 << PD1); // PD1 auf LOW
// OCR2 = 0xEF; // Pulsbreite 16
// MotorSpeed(255,255); // volle Kraft
// MotorDir(FWD,FWD); // voraus
StatusLED(YELLOW);
Msleep(400);
while (1)
{
if (PIND & (1 << PD0)) { // wenn kein IR-Echo
BackLED(OFF,OFF);
// MotorDir(FWD,FWD); // dann vorwärts
StatusLED(GREEN);
Msleep(400);
StatusLED(YELLOW);
}
else { // sonst
BackLED(ON,ON);
// MotorDir(RWD,FWD); // nach links
StatusLED(RED);
}
}
return 0;
}
die statuslED leuchtet kurz gelb auf, wird grün und bleibt es. wechselt nicht wieder zu gelb, was sie m.e. nach sollte. Auch beim simulieren eines hindernisses wechselt sie nicht zum rot...
ausprobiert mit zwei normalen AM 8 (kein asurochip), an zwei asuros abwechselnd, was auf sodftware schliessen lässt (?)
was mich iritiert ist, dass mit dem original asuro prozessor auch die übertragung zum hyperterminal zwar funktioniert, aber beim selbsttest kommen die vom asuro gesendeten zeichen eher sporadisch, eine verbindung zum flaschen mit USB-adapter lässt sich nicht ausfbauen. nach dem versuch die seite 1 zu flaschen ist schluss (asuro dead)...
könnt ihr mir bitte helfen?
edit: nochmaliger versuch beim flaschen über USB-IR ging bei beiden asuros, bleibt also ein softwarefehler. Aber wo?
noch etwas seltsames: wenn ich den eingeschalteten asuro (statusLED grün) in den lichtkegel meiner tischlampe eintauche, wird die statusLED rot! beim rausholen aus dem licht wird sie wieder grün...