我现在做的是一个windows CE下传感器的项目,其中有一个过程,是给传感器发一个读指令(16进制),然后传感器会自动返回一组数据(16进制);传感器的数据刷新是50次每秒,所以在20ms内必须主动接受数据并进行处理。这里的主动是细节上的,文章题目里的“被动”是从宏观的角度。起初,我是打算用线程做,后来才发现线程的时间片是25ms,行不通。所以打算用定时器,结果发现,常用的Timer在Windows CE中的分辨率是1 second,太低了,行不通。
查了一下,有一个这样的信息:
由操作系统提供的不同的准确性的多个计时器:
Function Units Resolution
---------------------------------------------------------------------------
Now, Time, Timer seconds 1 second
GetTickCount milliseconds approx. 10 ms
TimeGetTime milliseconds approx. 10 ms
QueryPerformanceCounter QueryPerformanceFrequency same
但是不会用,有没有大虾,懂的,教教我如何处理这种事件。
传感器,应该由驱动来支持
Timer是1秒?谁说的?1ms吧!