我知道默认的 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);
我尝试了很多方法,但没有奏效。
- gettimeofday:eCos 实现的接缝,但它仍然是毫秒精度。
- 获取滴答声:但 1 个滴答声是 10 毫秒。这意味着上下文切换时间是毫秒精度。
- 计时器,时钟等......
我的意思是我想以我们的精度实现获取当前系统时间功能。