0

社区,

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

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

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

此外,如果我按doing发送程序消息*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'
4

1 回答 1

0

如果您想以菊花链方式连接多个设备,一些串行接口会有意执行此操作。重复该命令,您可以通过简单地将帧长度加倍来切换第一个设备并寻址下一个设备。(每个设备就像一个移位寄存器)。

于 2021-08-30T19:20:27.840 回答