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
Dazu habe ich mir eine Ausgabe eingebaut um den Wert der Stopwatch zu sehen.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; }
Unerwarteterweise sieht jetzt der Output auf der Konsole so aus:
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.Code:[READY] Do some LED stuff! 601 601 601 601 601 601 601 601 601 601 512 767 512 767 512 767 601 601
Gibt es dafür eine plausible erklärung?![]()
danke schon mal im voraus,
Gruß,
Martin







Zitieren

Lesezeichen