我正在尝试打印秒和毫秒分辨率计时,我正在使用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中开发
答案 0 :(得分:5)
毫秒是空白的。
我不确定为什么会发生这种情况
GetSystemTime()
ImageView
对此问题发出以下警告:
硬件平台可能不支持毫秒粒度。此函数的调用者不应该依赖于第二个以上的粒度。
答案 1 :(得分:2)
在Windows下,时钟分辨率为is around 15ms。
如果你需要毫秒级的分辨率,有一个高性能时钟,你可以测量10μs范围内的时间(见msdn上的here: Acquiring high-resolution time stamps)。