有个pc定时问题请教
时间:12-12
整理:3721RD
点击:
是这么一个情况,如果是靠pc的定时器,比如定时6秒发送数据。
同时在下位机,也就是手持外设的芯片中,用定时器中断统计上位机发送
的数据。发现这两每隔上半个小时就有误差。
那请问pc定时器,比如程序内用settimer()这样设置定时间隔的中断函数,
其定时时间有多准确?是否有可能不断累积时间误差?
同时在下位机,也就是手持外设的芯片中,用定时器中断统计上位机发送
的数据。发现这两每隔上半个小时就有误差。
那请问pc定时器,比如程序内用settimer()这样设置定时间隔的中断函数,
其定时时间有多准确?是否有可能不断累积时间误差?
我记得windows的定时器精度是50ms,光用settimer累加是不准的
不是settimer累加,而是用pc的Settimer(),执行它的定时中断发送数据。
不累加最好是每次都计算下一次同步的间隔
windows的定时非常不靠谱
我写了一个每400ms执行一个循环的程序
实际测到的最大间隔是700s+
PC用的根本不是实时操作系统,就别指望它能有什么精度了。
还是换平台吧。
pc的定时器到微秒都没问题,但windows系统不是实时系统,所以在windows环境下就不要指望定时器很精准。
只要是两个时钟源,绝对是会有误差的。
何况是windows这样的非实时操作系统。
建议采用一个时钟触发,相当于请求再发送比较靠谱。
看错了,呵呵