Hallo

Deine Kommentare gefallen mir. Vorbildlich :)

Um das Problem mit strlen() zu umgehen kann man den String mit 0-Werten vorbelegen. SerWrite() erkennt das als Stringende und bricht die Übertragen beim ersten Zeichen=0 ab obwohl beim Aufruf 5 Zeichen angegeben wurden. (Das ist allgemein die Endekennung eines Strings in C).

Wir wollten doch mit laufenden Motoren testen:
Code:
#include "asuro.h"

int main (void)
{
unsigned char x;            //definition der pollswitch-variable
unsigned char string [5];   //definition eines string mit max. 5 zeichen

	Init ();

	/********************************************
	/* Achtung! Der asuro kann jetzt losfahren! *
	/********************************************/

	MotorSpeed(150,150);		 					 // elektrischen Krach machen

   while (1)
   {
		StatusLED(RED);                      // wir senden
      for(x=0; x<5; x++) string[x]= 0;     // String mit Endekennungen vorbelegen
      x = PollSwitch ();                   //taster werden abgefragt
      itoa (x, string, 10);  //wert wird umgewandelt und in string gespeichert
      SerWrite (string, 5);  					 //string wird an terminal geschrieben
      SerWrite ("\n\r", 2);                //umbruch an terminal schreiben
                                           //("\n" und "\r" sind je ein byte!)
		StatusLED(YELLOW);                   // wir warten 1/4 Sekunde
		for(x=250; x; x--) Sleep(72);			 // 250 mal eine ms
   }
}
Bei mir sind auch hier noch die Tastenwerte richtig, vermutlich weil ich keine Motoren an meinem asuro habe :)

Gruß

mic