串口通信,为什么发送命令后仪器没反应,再发送*IDN?的时候它才执行刚才的命令

2019-07-17 13:36发布

如题,我先在程序里给仪器发送命令没反应,然后我在NI-MAX,打开VISA测试面板中,直接写入命令,也没反应,但是,当我给仪器发送*IDN?并询问返回数的时候,才执行刚才发的命令,再次发送*IDN?它才返回仪器名称啥的。然后再发送命令,还是没反应,发*IDN?才有反应,一直这样。
   这是什么原因,该如何解决,,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
阿神009
1楼-- · 2019-07-17 18:38
给位老哥们,求个回复。
张华强1212
2楼-- · 2019-07-18 00:03
额,有可能你第一次发的数据中没有结束符( ),然后等你发送*IDN?的时候收到了结束符,所以执行上一次的命令
阿神009
3楼-- · 2019-07-18 03:12
张华强1212 发表于 2018-3-7 17:54
额,有可能你第一次发的数据中没有结束符( ),然后等你发送*IDN?的时候收到了结束符,所以执行上一次的命令

这个结束符和串口配置里面的停止位是什么关系,停止位我选的默认的。
阿神009
4楼-- · 2019-07-18 05:40
张华强1212 发表于 2018-3-7 17:54
额,有可能你第一次发的数据中没有结束符( ),然后等你发送*IDN?的时候收到了结束符,所以执行上一次的命令

这个结束符和串口配置里面的停止位是什么关系,停止位我选的默认的。
12F3393
5楼-- · 2019-07-18 08:17
 精彩回答 2  元偷偷看……
阿神009
6楼-- · 2019-07-18 14:00
12F3393 发表于 2018-3-7 21:13
你的程序是你自己写的吗,如果是我测试系统,我会验证指令是否正确,使用串口助手发送指令,给仪器是否会驱动,然后验证自己写的代码发送指令是否正确,可以将TX,RX用导线连接。

是我自己写的,也可以保证指令是正确的,因为发送*IDN?后,仪器按刚才的指令操作了

一周热门 更多>