hi allerseits,

mit folgendem progrämmchen, welches ich zusammengestückelt habe gibt es probleme:

Code:
#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...