毫秒分辨率计时器是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 使用官方 SDK 生成 安装包