毫秒分辨率计时器是LinkIT 7688

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了毫秒分辨率计时器是LinkIT 7688相关的知识,希望对你有一定的参考价值。

我正在为Mediatek开发LinkIt Smart 7688设备。我需要在用户空间应用程序中做一些计时,我需要至少10ms的分辨率(最好是1ms)。

但是我尝试过的每个系统调用只返回1秒的分辨率值。 clock_gettime(尝试了所有不同的时钟)和gettimeofday应该提供亚秒级分辨率不。

在目标上执行dmesg显示内核时间戳的分辨率低于1秒,因此我得出结论,时钟源可用亚秒级分辨率。 (如果不是这样的话,我会非常高兴:))

如何在Linkit Smart 7688设备上获得亚秒级分辨率的时间戳?

也许我可能会错过一些内核配置,选择正确的时钟源供用户空间使用?我找不到一个。

答案

不仅要使用gettimeofday返回的秒数,还要使用usec

gettimeofday(&t0, 0);
/* ... */
gettimeofday(&t1, 0);
long elapsed = (t1.tv_sec-t0.tv_sec)*1000000 + t1.tv_usec-t0.tv_usec;

以上是关于毫秒分辨率计时器是LinkIT 7688的主要内容,如果未能解决你的问题,请参考以下文章

Linkit 7688 DUO 接上各种Arduino传感器和模块—扩展篇

Linkit 7688 DUO: 接上各种Arduino传感器和模块——基础篇

LinkIt Smart 7688 建立交叉编译环境

LinkIt Smart 7688 使用官方 SDK 生成 安装包

LinkIt Smart 7688 从源码构建 bootloader (U-Boot)

LinkIt Smart 7688 从源码构建固件并升级