Hallo

Wenn man stur die mSleep()s durch die Stopwatches ersetzt gewinnt man nichts:
Code:
// Lauflicht mit Stopwatch (blockierend)

#include "RP6RobotBaseLib.h"

int main(void)
{
	initRobotBase();
	startStopwatch1();
	startStopwatch2();
	startStopwatch3();


	while(true)
	{

		setStopwatch1(0);
		while(getStopwatch1() < 150);
		setLEDs(0b001001);

		setStopwatch2(0);
		while(getStopwatch2() < 150);
		setLEDs(0b010010);

		setStopwatch3(0);
		while(getStopwatch3() < 150);
		setLEDs(0b100100);
	 
      task_RP6System(); // wird alle 3*150ms aufgerufen

   }
   return(0);
}
Der Vorteil der Stopwatches ist die nicht blockierende Anwendung:

Code:
// Lauflicht mit Stopwatch (nicht blockierend)

#include "RP6RobotBaseLib.h"

uint8_t step;

int main(void)
{
	initRobotBase();
	step=0;
	startStopwatch1();

	while(true)
	{

		if(getStopwatch1() > 150)
		{
			setStopwatch1(0);
			step++;
			if(step > 3) step=0;

			if(step==0) setLEDs(0b000000);
			if(step==1) setLEDs(0b001001);
			if(step==2) setLEDs(0b010010);
			if(step==3) setLEDs(0b100100);
		}

      task_RP6System(); // wird bei jedem Schleifendurchgang aufgerufen

   }
   return(0);
}
(beides nicht getestet!)

Gruß

mic