Derich2
02.02.2012, 21:18
Hallo,
ich hab jetzt seit längerer Pause mal wieder meinen RP6 ausgepackt und mal ein bisschen mit Timern etc. rumgespielt. Dabei ist mir aufgefallen, dass die in der Libary integrierten Stopwatches anscheinend um 10% zu langsam gehen.
Wie bin ich drauf gekommen?
Ich hab mal etwas in der Libary rumgespielt und den Timer2 nicht als PWM sondern auch als Stoppuhr verwendet. Nun hab ich beide 30 Sekunden laufen lassen und dann ausgeben lassen.
Während hierbei Timer1 bei 30 Sekunden war, war die Stopwatch erst bei 27 Sekunden.
Anschließend hab ich das dann mal manuel mit einer Uhr nachgemessen und ich bin auf das selbe Ergebniss gekommen.
Also hab ich gedacht, dass ich vielleicht irgendwas in der Libary verändert habe, was die Stopwatch beinflusst hat. Also hab ich wieder die Standard Libary genommen und mit der Uhr nachgemessen und bin zum selben Ergebniss gekommen.
Hier mal der dazu verwendete Code:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
mSleep(1000);
writeString("3\n");
mSleep(1000);
writeString("2\n");
mSleep(1000);
writeString("1\n");
mSleep(1000);
writeString("GO\n");
startStopwatch1();
while(true){
if(getStopwatch1() == 30000){ // Eigentlich nach 30 Sekunden ...
writeString("STOP\n");
writeInteger((getStopwatch1()/100),DEC);
writeString("\n");
mSleep(1000);
writeString("3\n");
mSleep(1000);
writeString("2\n");
mSleep(1000);
writeString("1\n");
mSleep(1000);
writeString("GO\n");
setStopwatch(0);
}
}
}
Programm gestartet -> bei Go auf Armbanduhr gestartet -> bei Stop auf Armbanduhr gestopt
-> Ausgabe: 300 Armbanduhr: 33 Sekunden (Und ich hab keine 3 Sekunden Reaktionszeit :D)
Nun meine Frage:
Kann das wer bestätigen?
Kann man das ändern?
Vielen Dank schon jetzt für Antworten!
__________
MFG DERICH
ich hab jetzt seit längerer Pause mal wieder meinen RP6 ausgepackt und mal ein bisschen mit Timern etc. rumgespielt. Dabei ist mir aufgefallen, dass die in der Libary integrierten Stopwatches anscheinend um 10% zu langsam gehen.
Wie bin ich drauf gekommen?
Ich hab mal etwas in der Libary rumgespielt und den Timer2 nicht als PWM sondern auch als Stoppuhr verwendet. Nun hab ich beide 30 Sekunden laufen lassen und dann ausgeben lassen.
Während hierbei Timer1 bei 30 Sekunden war, war die Stopwatch erst bei 27 Sekunden.
Anschließend hab ich das dann mal manuel mit einer Uhr nachgemessen und ich bin auf das selbe Ergebniss gekommen.
Also hab ich gedacht, dass ich vielleicht irgendwas in der Libary verändert habe, was die Stopwatch beinflusst hat. Also hab ich wieder die Standard Libary genommen und mit der Uhr nachgemessen und bin zum selben Ergebniss gekommen.
Hier mal der dazu verwendete Code:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
mSleep(1000);
writeString("3\n");
mSleep(1000);
writeString("2\n");
mSleep(1000);
writeString("1\n");
mSleep(1000);
writeString("GO\n");
startStopwatch1();
while(true){
if(getStopwatch1() == 30000){ // Eigentlich nach 30 Sekunden ...
writeString("STOP\n");
writeInteger((getStopwatch1()/100),DEC);
writeString("\n");
mSleep(1000);
writeString("3\n");
mSleep(1000);
writeString("2\n");
mSleep(1000);
writeString("1\n");
mSleep(1000);
writeString("GO\n");
setStopwatch(0);
}
}
}
Programm gestartet -> bei Go auf Armbanduhr gestartet -> bei Stop auf Armbanduhr gestopt
-> Ausgabe: 300 Armbanduhr: 33 Sekunden (Und ich hab keine 3 Sekunden Reaktionszeit :D)
Nun meine Frage:
Kann das wer bestätigen?
Kann man das ändern?
Vielen Dank schon jetzt für Antworten!
__________
MFG DERICH