PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBObee: Zeitfunktionen (clock.h)



wastel
04.07.2010, 14:39
Hallo nochmal.
Leider konnte mir keiner bis heute helfen. Ich würde gern die Systemzeit vom NIBObee erfahren und hab dann in der clock.h zwei Variablen gefunden.
Jetzt würde ich gern wissen. ob ich die Zeit überhaupt korrekt berechne.

hier meine Codeabschnitte



...
#include <nibobee/clock.h>
...

int8_t time(){
int8_t time_v = (int8_t)clock_sec*1000 + (int8_t)clock_ms;
return time_v;
}




Danke

workwind
06.07.2010, 13:25
Hallo Wastel,
Du verwendest einen vorzeichenbehafteten 8-Bit Wert als time_v Variable. Der Zahlenraum ist also auf -128 bis +127 beschränkt! Wenn Du die ms seit Systemstart berechnen möchstest, würde ich einen uint32_t vorschlagen:



uint32_t time(){
uint32_t time_v = (uint32_t)clock_sec*1000 + (uint32_t)clock_ms;
return time_v;
}


Oder mit weniger (expliziten) Typ-Umwandlungen:


uint32_t time(){
uint32_t time_v = clock_sec;
time_v *= 1000;
time_v += clock_ms;
return time_v;
}

wastel
06.07.2010, 14:16
Super. Danke für die schnelle Antwort.
Werds wenn ich gleich mal Zeit hab gleich ausprobieren.