通过定时器如何能准确的定时读取数据
通过一个串口定时读取数据,三个数据表,表1,表2,表3
从程序运行开始,前8小时,每5分钟采集一次数据写入表1和表2,过8小时后每5分钟采集一次数据,分别写入表1,表2(此时将表中最前面一次采集的记录删除),与此同时,每够1小时还需要将读取的数据写入表3
我现在使用timer做计时器,每次开始采集时间总是差几秒,由于对时间要求比较严格,程序连续运行时间大概150天
请问有没有什么方法可以使开始读取串口的时间更精确些?
[解决办法]
记时器肯定不行的~~因为它要把消息送到消息队列经过处理有的消息可能延误这样就不准确了。
你用Private Declare Function GetTickCount Lib "kernel32 " Alias "GetTickCount " () As Long这个函数来试下吧
自己写个ActiveExe这样来处理可能会好些
[解决办法]
那就没办法了
其实也不难
[解决办法]
一般不会有误差几秒钟,几毫秒误差或许会有,计时器的精度大概是16MS。不然就是系统处理其他事件,耽误了。
不过你该把时间计算过程列出来。
[解决办法]
用关于时间的API函数是不错的选择。