使用LabVIEW直接从BIOS中读取实时时钟



主要软件:
主要软件版本: 7.0
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Base Package, LabVIEW Development Systems>>LabVIEW Professional Development System

问题:

有时我的系统时钟表现出漂移,特别是当我为外部时钟周期运行计算密集型运用程序时。我该如何从系统的BIOS中读取实时时钟值?



解答:

系统BIOS有两个时钟。实时时钟(RTC)由安装在主板上的小电池进行供电,系统时钟特别的由BIOS本身来维持。在大多数的情况下,在系统启动的时候,BIOS对实时时钟进行拷贝并作为系统时钟值。在一些情况下,根据BIOS和主板的制造和模型不同,系统时钟会有每天几秒的时钟漂移。

Windows允许你通过I/O端口的调用直接访问实时时钟。附件的VI可以让你使用LabVIEW读取实时时钟值。

注意:

过于频繁的使用该方法会引起实时时钟非常微小的漂移,这是因为读操作本身会花费一定长度的时间。在循环中使用该方法来读取实时时钟是不合适的。使用实时时钟来设置系统时钟也是不合适的。这样会引起实时时钟设置的更大的错误。

另外,没有方法可以直接通过I/O端口设置实时时钟值,在Windows设置系统时间会自动的设置实时时钟为新值。

附件的.ZIP文件包含范例的版本可以在LabVIEW5.0和7.0中使用。

 



相关链接: Developer Zone: Port and Memory Utilities for Windows

附件:


RTC-BIOS_PortMemory.zip - RTC-BIOS_PortMemory.zip


报告日期: 01/06/2005
最近更新: 08/07/2012
文档编号: 3H5GG1NF