我正在使用 Python 并安装了最新版本的 NI-VISA。我正在使用 ctypes 包来加载使用 NI-VISA 安装的 visa32.dll。
我使用了 NI-VISA 文档以及以下页面作为我的代码的基础。
我已经知道 pyVisa 包装器,并且使用他们的 find_resources 函数确实会返回连接的仪器。但是,我不想使用这个包装器,而是直接使用 VISA DLL 文件。
我也一直在浏览 pyVisa 代码,看看他们是如何做到的,并试图从中学习,但似乎我仍然不明白。
这是我当前未完成的代码:
import sys
from ctypes import *
visa = windll.LoadLibrary("visa32.dll")
resourceManagerHandle = c_int(0)
visa.viOpenDefaultRM(byref(resourceManagerHandle))
instr_list = c_ulong(0)
nb = c_ulong(0)
desc = create_string_buffer(128)
print(visa.viFindRsrc(resourceManagerHandle,
"?*INSTR",
byref(instr_list),
byref(nb),
byref(desc)))
# The previous line prints: -1073807343
print(instr_list)
# The previous line prints: c_ulong(0)
我一直试图在 Internet 上查找错误代码 -1073807343(十六进制为 4000FFEF)的含义,虽然我在 National Instruments 论坛上找到了一些关于它的论坛帖子,但我仍然不太明白它的含义。
我欢迎任何建议、指导或相关信息的链接。