Hallo zusammen,

ich hab seit ein paar Tagen einen RP6 und bin gerade dabei mich mit ihm bzw. der Robotertechnik im Allgemeinen anzufreunden.

Heute hab ich mich ein wenig mit der Stopwatch beschäftigt und dabei ein eigenartiges Phänomen festgestellt.
Hier ein einfaches Programm das die Stopwatch1 verwendet um alle 600ms die LEDS paarweise weiterlaufen zu lassen
Code:
#include "RP6RobotBaseLib.h" 	// The RP6 Robot Base Library.

int main(void)
{
	initRobotBase();
	writeString_P("Do some LED stuff!\n");
	startStopwatch1();

	uint8_t runningLight = 9;
	uint16_t stopVal = 0;
	
	while(true)
	{	
		stopVal = getStopwatch1();
		if (stopVal > 600)
		{
			writeInteger(getStopwatch1(), DEC);
			writeChar('\n');
			writeInteger(stopVal, DEC);
			writeChar('\n');
			writeChar('\n');
			
			setLEDs(runningLight); 	
			runningLight <<= 1;
			if(runningLight > 36)
				runningLight = 9;
			setStopwatch1(0);
		}		

	}

	return 0; 
}
Dazu habe ich mir eine Ausgabe eingebaut um den Wert der Stopwatch zu sehen.
Unerwarteterweise sieht jetzt der Output auf der Konsole so aus:
Code:
[READY]
Do some LED stuff!
601
601

601
601

601
601

601
601

601
601

512
767

512
767

512
767

601
601
das heißt der Wert den die Stopwatch liefert stimmt nicht immer mit dem Wert in der Variable (die eigentlich auch den Stopwatch-Wert haben sollte) überein.

Gibt es dafür eine plausible erklärung?

danke schon mal im voraus,
Gruß,
Martin