timer.c 428 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "timer.h"
  2. #include "io.h"
  3. static uint64_t __time_us;
  4. static uint64_t __delta_time_us;
  5. void micro_sleep(int x)
  6. {
  7. #ifdef __linux__
  8. usleep(x);
  9. #else
  10. unsigned long xx=micros();
  11. while(micros()<=xx+x);
  12. #endif
  13. }
  14. void timer_init()
  15. {
  16. __time_us=0;
  17. }
  18. uint64_t get_time_us()
  19. {
  20. return micros();
  21. }
  22. void set_delta()
  23. {
  24. __delta_time_us=__time_us;
  25. }
  26. uint64_t get_delta()
  27. {
  28. return __time_us-__delta_time_us;
  29. }