2

我正在尝试打印出秒和毫秒的分辨率时间,我正在使用GetSystemTime().

这是我的代码:

GetSystemTime(&datetime);
RETAILMSG(1,(_T("Time After Data Sent to USB: %d:%d\r\n"), datetime.wSecond, datetime.wMilliseconds));  

我使用 打印到平台构建器调试输出RETAILMSG(),但我最多只能打印秒分辨率,所以我会看到类似48:0的内容,其中毫秒为空白。

我不知道为什么会这样,因为我没有收到任何投诉。我认为这与RETAILMSG().

是否有解决此问题的方法或可用于实现毫秒级分辨率的替代方法?

谢谢,

编辑:我正在开发 Windows Embedded Compact 7

4

2 回答 2

5

毫秒为空白。

我不确定为什么会这样

Embedded Compact 文档说明了有关该GetSystemTime()问题的以下警告:

硬件平台可能不支持毫秒粒度。此函数的调用者不应依赖超过第二个粒度。

于 2015-08-11T20:58:40.630 回答
2

windows下,时钟分辨率在15ms左右

如果您需要毫秒分辨率,可以使用高性能时钟来测量 10µs 范围以下的时间(请参阅此处:在 msdn 上获取高分辨率时间戳)。

于 2015-08-11T20:11:08.677 回答