Hi leute,
ich habe mich nun etwas weiter vor gewagt in der Programmierung des Asuros und das ist dabei rausgekommen:
Es sollte eine Methode sein, um die Werte der Phototranistoren des Asuros aus zulesen, es hat soweit alles geklapt, nur habe ich ein paar kleinere Probleme
Code:
unsigned int data[2];
unsigned char s[4] = "thze";

	void PrintCharR(unsigned int x)
	   {
		  unsigned char einer, zehner, huni, tausend;
		  x = data[1];
		  
		  einer= x%10;
		  zehner= (x-einer)%100;
		  huni= (x-(zehner*10+einer))%1000;
		  tausend= (x-((huni*100)+(zehner*10)+einer))%10000; 
				
		  s[0]=huni+'0';
		  s[1]=zehner+'0';
		  s[2]=einer+'0';
		  s[3]=tausend;
		  
		  SerWrite(s,4);
	   }
	   
	void PrintCharL(unsigned int x)
	   {
		  unsigned char einer, zehner, huni, tausend;
		  x = data[0];
		  
		  einer=x%10;
		  zehner=(x-einer)/10;
		  huni=(x-(zehner*10+einer))/100;
		  
		  if((x = 1000) && (x > 1000))
				tausend= 1;
		  else
				tausend= 0;
				
		  s[0]=huni+'0';
		  s[1]=zehner+'0';
		  s[2]=einer+'0';
		  s[3]=tausend;
		  
		  SerWrite(s,4);
	   }
die wären, der asuro übergibt einen nur 3stelligen wert, anstatt einen 4-stelligen!!!

ich habe verschiedene Methoden versucht, die einzelwerte der "zehner, einer, tausender und hunderter" zu ermitteln, wobei ich auf die gute anleitung von "Radbruch" aus dem Threat: der Threat
zurückgegriffen habe, nun habe ich das problem das die werte nicht, bzw als Zeichen wirwar, übermittelt werden!

In meinem Code hab ich bei der funktion des Linken und des Rechten Phototransistors verschiedene möglcihkeiten genommen, wobei die obere Fehleraufweist, kann mir jemand bitte

Lösungsansätze vorschlagen, bitte keine Komplettlösung, da ich selber auch noch was tuen möchte :P

thx im vorraus greezZ dr Listner

EDIT:
achja, mir ist bewust, dass ich oben nur die Funktionen gepostet habe :P

aufgerufen habe ich sie mit :
Code:
PrintCharL(a);   //bzw
PrintCharR(a);