我正在尝试用 C 语言编写一个在 redpitaya 上运行的 TCP-IP 服务器,它可以与 linux 主机(客户端)上的 pyvisa 作为 TCPIP::SOCKET 资源进行通信。
我可以连接到服务器并且服务器确实从客户端接收命令(例如*IDN?)。但是,客户端只是没有收到服务器发回的任何答案: read_raw() 只是超时。我可以通过 tcpdump 验证答案是否由服务器发送并由客户端确认 - 但它只是无法通过 pyvisa。
如果客户端以相同的方式与某些仪器通信,我会收到对 *IDN? 的有效回复。如果我发送 *IDN? 到我的服务器(例如通过腻子)我也得到了有效的回复。回复只是没有通过pyvisa。
顺便说一句:我与 redpitaya 分发的“官方”SCPI 服务器有相同的行为。
我可以提供更多细节,但也许有人已经暗示了我所缺少的东西。
沃尔夫冈