我正在用 python 编写代码以通过 pyvisa 与范围进行通信。有时会发生在通过以太网连接将数据从示波器传输到 PC 期间,并非所有数据都被传输。我打开与示波器的连接作为 SOCKET 连接,如手册中所示:
inst = visa.ResourceManager().open_resource("TCPIP0::<ip_address>::<port>::SOCKET")
除数据传输外,一切都正常运行。我通过手册中报告的命令请求数据inst.write('channel1:data?')
,然后使用inst.read()
. 但是,如果我将数据头中指示的点数与我从该read()
方法获得的数据数组的长度进行比较,我会得到不同的结果,并不是所有的数据都被传输。我尝试为读取操作启用终止字符并且它们可以工作,但是当我读取数据时,我收到来自 VISA 的警告,说该字符串不以任何终止字符结尾。
停止阅读时有没有办法告诉烦恼?有没有办法强制阅读时间更长?
谢谢