0

我知道默认的 eCos 精度是1 ticks = 10 ms.

eCos OS 提供cyg_current_time();

我可以使用 cyg_current_time 除 tick_per_one_ms 得到 SystemTime_MS;

(例如)GetSystemTime = cyg_current_time() / 10;

我怎样才能精确地获得系统时间?

我想为我们精确计算一个时间间隔。

例如(想知道 A() 花费了多少时间):

startTime = GetSystemTimeUS();
A();
endTime = GetSystemTimeUS();

printf("A() cost %lu us.",endTime - startTime);

我尝试了很多方法,但没有奏效。

  1. gettimeofday:eCos 实现的接缝,但它仍然是毫秒精度。
  2. 获取滴答声:但 1 个滴答声是 10 毫秒。这意味着上下文切换时间是毫秒精度。
  3. 计时器,时钟等......

我的意思是我想以我们的精度实现获取当前系统时间功能。

4

0 回答 0