有哪些技术/方法可以用C或C++获得亚毫秒级的精确定时数据,它们提供的精度和准确度如何?我正在寻找不需要额外硬件的方法.该应用程序涉及等待大约50微秒+/- 1微秒,而一些外部硬件收集数据.
编辑:操作系统是Wndows,可能与VS2010.如果我可以在Linux上获得硬件的驱动程序和SDK,我可以使用最新的GCC去那里.
Rak*_*kis 14
在处理现成的操作系统时,准确的计时是一项非常困难且涉及的任务.如果你真的需要保证时间,唯一真正的选择是一个完整的实时操作系统.但是,如果"几乎总是"足够好,可以使用一些技巧,在商用Windows和Linux下提供良好的准确性
这似乎是一个简单的问题,但是当你的时序限制越来越严格时,获得"好"的时间会越来越困难.祝好运!
硬件(因此分辨率)因机器而异.在Windows上,特别是(我不确定其他平台),你可以使用QueryPerformanceCounter和QueryPerformanceFrequency,但要注意你应该从同一个线程调用这两个并且没有关于解决方案的严格保证(QueryPerformanceFrequency被允许返回0意味着没有高分辨率计时器可用).但是,在大多数现代桌面上,应该有一个精确到微秒.
| 归档时间: |
|
| 查看次数: |
8632 次 |
| 最近记录: |