Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

serialport インターフェイスへのコードの遷移

関数 serial、そのオブジェクト関数、およびそのプロパティは推奨されません。代わりに serialport を使用してください。

シリアル ポート デバイスの検出

seriallist は推奨されません。代わりに serialportlist を使用してください。

シリアル ポート デバイスへの接続

この例では、推奨される機能を使用してシリアル ポート デバイスに接続する方法を説明します。

機能代替方法
s = serial("COM1");
s.BaudRate = 115200;
fopen(s)
s = serialport("COM1",115200);

詳細については、serialport を参照してください。

読み取りと書き込み

これらの例では、ループバック デバイスを使用して、推奨される機能を使ったバイナリの書き込みと読み取り、終端処理のないコマンド文字列の書き込み、および固定長の応答文字列の読み取りを実行する方法を説明します。

機能代替方法
% s is a serial object
fwrite(s,1:5,"uint32")
data = fread(s,5,"uint32")
data =

     1
     2
     3
     4
     5
% s is a serialport object
write(s,1:5,"uint32")
data = read(s,5,"uint32")
data =

     1     2     3     4     5
% s is a serial object
command = "start";
fwrite(s,command,"char")
% s is a serialport object
command = "start";
write(s,command,"char")
% s is a serialport object
command = "start";
write(s,command,"string")
% s is a serial object
length = 5;
resp = fread(s,length,"char")
resp =

   115
   116
    97
   114
   116
resp = char(resp)'
resp =

    'start'
% s is a serialport object
length = 5;
resp = read(s,length,"string")
resp =

    "start"

詳細については、write または read を参照してください。

コマンドの送信

この例では、推奨される機能を使用して、終端処理された SCPI コマンドを書き込む方法を説明します。

機能代替方法
% s is a serial object
s.Terminator = "CR/LF"
channel = 1;
level = 3.44;
fprintf(s,"TRIGGER%d:LEVEL2 %1.2f",[channel,level]);
% s is a serialport object
configureTerminator(s,"CR/LF")
channel = 1;
level = 3.44;
cmd = sprintf("TRIGGER%d:LEVEL2 %1.2f",[channel,level]);
writeline(s,cmd)

writeline は自動的に書き込み終端子を追加します。

詳細については、configureTerminator または writeline を参照してください。

終端文字列の読み取り

この例では、推奨される機能を使用して、終端文字列の読み取りを実行する方法を説明します。

機能代替方法
% s is a serial object
fprintf(s,"MEASUREMENT:IMMED:TYPE PK2PK")
a = fscanf(s,"%e",6)
a =

    2.0200

書式指定子 "%e" に対し fscanf は終端子を返し、ユーザーはそれを文字列から削除しなければなりません。

% s is a serialport object
writeline(s,"MEASUREMENT:IMMED:TYPE PK2PK")
a = readline(s)
a = 

    "2.0200"
sscanf(a,"%e")
a =

    2.0200
% s is a serial object
fprintf(s,"*IDN?")
a = fgetl(s)
a =

    'TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16'

fgetl は指定の終端子に至るまで読み取り、その後終端子を破棄します。

% s is a serialport object
writeline(s,"*IDN?")
a = readline(s)
a = 

    "TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04"

readline は指定の終端子に至るまで読み取り、その後終端子を破棄します。終端子を含めるオプションはありません。

% s is a serial object
fprintf(s,"*IDN?")
a = fgets(s)
a =

    'TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04
     '

fgets は指定の終端子に至るまで読み取り、その後終端子を返します。

詳細については、readline を参照してください。

メモリからのデータのフラッシュ

この例では、推奨される機能を使用して、バッファーからデータをフラッシュする方法を説明します。

機能代替方法
% s is a serial object
flushinput(s)
% s is a serialport object
flush(s,"input")
% s is a serial object
flushoutput(s)
% s is a serialport object
flush(s,"output")
% s is a serial object
flushinput(s)
flushoutput(s)
% s is a serialport object
flush(s)

詳細については、flush を参照してください。

終端子の設定

この例では、推奨される機能を使用して終端子を設定する方法を説明します。

機能代替方法
% s is a serial object
s.Terminator = "CR/LF";
% s is a serialport object
configureTerminator(s,"CR/LF")
% s is a serial object
s.Terminator = {"CR/LF" [10]};
% s is a serialport object
configureTerminator(s,"CR/LF",10)

詳細については、configureTerminator を参照してください。

コールバック関数のセットアップ

この例ではループバック デバイスを使用し、推奨される機能を使ってコールバック関数をセットアップする方法を説明します。

機能代替方法
s = serial("COM5","BaudRate",115200)
s.BytesAvailableFcnCount = 5
s.BytesAvailableFcnMode = "byte"
s.BytesAvailableFcn = @instrcallback

fopen(s)

function instrcallback(src,evt)
   data = fread(src,src.BytesAvailable)
   disp(evt)
   disp(evt.Data)
end
data =

     1
     2
     3
     4
     5

    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 5 2 16 35 9.6710]
s = serialport("COM5",115200)
configureCallback(s,"byte",5,@instrcallback);

function instrcallback(src,evt)
   data = read(src,src.NumBytesAvailable,"uint8")
   disp(evt)
end
data =

     1     2     3     4     5

  DataAvailableInfo with properties:

    BytesAvailableFcnCount: 5
                   AbsTime: 02-May-2019 15:54:09

詳細については、configureCallback を参照してください。

シリアル ピン ステータスの読み取り

この例では、推奨される機能を使ってシリアル ピン ステータスを読み取る方法を説明します。

機能代替方法
% s is a serial object
s.PinStatus
ans = 

  struct with fields:

    CarrierDetect: 'on'
      ClearToSend: 'on'
     DataSetReady: 'on'
    RingIndicator: 'on'
% s is a serialport object
status = getpinstatus(s)
status = 

  struct with fields:

      ClearToSend: 1
     DataSetReady: 1
    CarrierDetect: 1
    RingIndicator: 1

詳細については、getpinstatus を参照してください。

シリアル DTR ピンと RTS ピンの状態の設定

この例では、推奨される機能を使ってシリアル DTR ピンと RTS ピンの状態を設定する方法を説明します。

機能代替方法
% s is a serial object
s.DataTerminalReady = "on";
% s is a serialport object
setDTR(s,true)
% s is a serial object
s.RequestToSend = "off";
% s is a serialport object
setRTS(s,false)

詳細については、setDTR または setRTS を参照してください。

参考

|

関連するトピック