Windows NT/2000/XP系统下用LabVIEW访问硬件寄存器和物理内存
主要软件:
主要软件版本: 7.1.1
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Professional Development System, LabVIEW Development Systems>>LabVIEW Base Development System
问题: 我希望直接在Windows NT/2000/XP系统下访问我的硬件。我如何直接与硬件I/O寄存器和物理内存通信?
解答:
- Windows NT/2000/XP系统下用LabVIEW访问硬件寄存器
硬件寄存器可通过LabVIEW中的In Port和Out Port VIs来访问。详细信息参见以下相应LabVIEW版本的标题:
LabVIEW 8
LabVIEW 8保留了LabVIEW 7.x中可用的功能,但是In Port和Out Port VIs现在位置在函数选板Functions» Connectivity» Port I/O。
LabVIEW 7.x
LabVIEW 7.x自带的In Port和Out Port VIs可在 Windows NT/2000/XP下工作。它们的位置在函数选板的All Functions» Advanced» Port I/O。 并不必须要安装AccessHW库来访问硬件寄存器。新的VI为多态型,您可以选择8、16或32位的操作,但是与之前版本LabVIEW的函数接口定义不兼容。因此,将LabVIEW 6.1中使用In Port和 Out Port VI的应用程序升级到LabVIEW 7.x
LabVIEW 4.0 - 6.1
LabVIEW 4.0到6.1自带的In Port和Out Port VI不能在Windows NT/2000/XP下工作,因为它们不是直接访问硬件所必须的内核模式程序。为此,需要从以下链接的Windows端口和内存工具下载和安装AccessHW库。这将安装并替代In Port和Out Port VI实现Windows NT/2000/XP下工作。替代的VI将位于安装目录取代正常的In Port和Out Port VI来使用。如果要转化已有的代码,您需要手工用新安装VI来替代已有的In Port和Out Port。
- 访问内存映射设备或者其它物理内存位置
LabVIEW本身并不直接支持物理内存访问。可利用AccessHW库,安装调用LabWindows/CVI功能的VI来实现直接内存访问。AccessHW库可以在以下链接的Windows端口和内存工具获得。AccessHW库安装将会安装必须的LabWindows/CVI控件,而不需要另外安装LabWindows/CVI。
相关链接: Developer Zone Example: Port and Memory Utilities for WindowsKnowledgeBase 17IE3USR: DAQ Register-Level Programming ResourcesKnowledgeBase 19LMFHSR: Register Programming a PCI Device and Finding the Correct AddressKnowledgeBase 2RCK8PTL: How Can I Write and Read from I/O and Memory Space in CVI?
附件:
报告日期: 04/04/2006
最近更新: 12/18/2007
文档编号: 2Q1FC3K8
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.