为什么我的串口仪器读取返回相同查询命令的查询响应?

问题描述

社区,

我使用的是安装了 Instrument Control 的带有 Matlab R2015 的 Win 7 系统。而且,泰克 TDS1012 示波器通过 USB 转串行连接器连接到我的计算机。设备通过PC和仪表控制连接并识别。

如果我发送程序消息,仪器会接受它。另一方面,在进行查询请求时,它会读取之前发送的程序消息作为响应消息。示例:

fprintf(deviceObj,'*IDN?')
fscanf(deviceObj)
ans = 
*IDN?

此外,如果我通过执行将程序消息发送为 *RST,仪器将重置,但它也会输出相同的程序消息

fprintf(deviceObj,'*RST') #This Line
fscanf(deviceObj)
ans =
*RST

问题:在这里遗漏了什么?可能是我的 USB 转串口线吗?

PS:这里是示波器配置(与仪器配置匹配)

default_val = 

              Baudrate: 9600
     BreakInterruptFcn: ''
             ByteOrder: 'littleEndian'
        BytesAvailable: 0
     BytesAvailableFcn: ''
BytesAvailableFcnCount: 48
 BytesAvailableFcnMode: 'terminator'
         BytesToOutput: 0
              DataBits: 8
     DataTerminalReady: 'on'
              ErrorFcn: ''
           FlowControl: 'none'
       InputBufferSize: 512
                  Name: 'Serial-COM5'
      ObjectVisibility: 'on'
      OutputBufferSize: 512
        OutputEmptyFcn: ''
                Parity: 'none'
             PinStatus: [1x1 struct]
          PinStatusFcn: ''
                  Port: 'COM5'
         ReadAsyncMode: 'continuous'
          RecordDetail: 'compact'
            RecordMode: 'overwrite'
            RecordName: 'record.txt'
          RecordStatus: 'off'
         RequestToSend: 'on'
                Status: 'closed'
              StopBits: 1
                   Tag: ''
            Terminator: 'LF'
               Timeout: 10
              TimerFcn: ''
           TimerPeriod: 1
        TransferStatus: 'idle'
                  Type: 'serial'
              UserData: []
        ValuesReceived: 0
            ValuesSent: 0
>> default_val.PinStatus = 

CarrierDetect: 'off'
  ClearToSend: 'on'
 DataSetReady: 'on'
RingIndicator: 'off'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)