如何在CVI中读写I/O口或内存空间实现与仪器的通讯?
主要软件:
主要软件版本: 6.0
主要软件修正版本: N/A
次要软件: N/A
问题: 我想和多个仪器进行通讯。其中一些要求从I/O口读写,另外一些从电脑的内存空间读写。CVI中能直接操作吗?
解答: CVI提供了许多函数让您能方便地访问电脑的I/O和内存空间。叫做底层函数,您需要谨慎地使用。
I/O 空间 - 通过I/O空间通讯,使用inp和outp功能。使用并口通讯,您需要使用这2个函数。不过需要您知道读和写的确切地址。
内存空间 - 读写物理内存,使用ReadFromPhysicalMemory和whiteToPhysicalMemory函数。每次使用这些函数,都会映射和解映射物理内存。 为防止读写过头,您可以使用Map/UnMapPhysicalMemory函数获得部分内存的指针。这个指针和C语言的指针一样。
注:当使用Windows NT系统的时候,您必须载入底层支持驱动才能使用这些函数。在您在Windows NT系统上安装CVI的时候载入这个驱动:cvintdrv.sys。该驱动能在设备控制面板上查到。在您编程之前使用CVILowLevelSupportDriverLoaded函数检查该驱动是否已经被载入。
相关链接:
附件:
报告日期: 11/13/2002
最近更新: 10/08/2007
文档编号: 2RCK8PTL
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.