Main Content

read

シリアル ポートからのデータの読み取り

説明

data = read(device,count,datatype) は、シリアル ポート接続 device から count で指定された値の数を datatype で指定された形式で読み取ります。数値型のすべての datatype について、data は double 値の行ベクトルになります。テキスト タイプの "char" または "string"datatype 値について、data は指定された型になります。この関数は、指定された数の値が読み取られるかタイムアウトが発生するまで、MATLAB® の実行を一時停止します。

すべて折りたたむ

シリアル ポート デバイスへの接続を作成します。この例では、COM3 のシリアル ポートはループバック デバイスに接続しています。

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

[1,2,3,4,5] を uint8 形式で書き込みます。

write(device,1:5,"uint8")

ポートはループバック デバイスに接続しているため、デバイスに書き込むデータは MATLAB に返されます。すべてのデータを読み取ります。

read(device,5,"uint8")
ans = 1×5

     1     2     3     4     5

入力引数

すべて折りたたむ

シリアル ポート接続。serialport オブジェクトとして指定します。

例: read(device,20,"uint32") は、シリアル ポート接続 device からデータを読み取ります。

読み取る値の数。正の整数値として指定されます。countdeviceNumBytesAvailable プロパティより大きい場合、関数は MATLAB の実行を一時停止し、指定された量のデータが読み取られるかタイムアウトが発生するまで待機します。

例: read(device,5,"uint32") は、uint32 データの値を 5 つ読み取ります。uint32 の値はそれぞれ 4 バイトで、読み取るのは合計 20 バイトです。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

各値のサイズと形式。文字ベクトルまたは string として指定します。datatype は、各値について読み取るバイト数と、MATLAB データ型としてのそれらのバイトの解釈を決定します。

例: read(device,5,"uint16") は、uint16 データの値を 5 つ読み取ります。uint16 の値はそれぞれ 2 バイトで、読み取るのは合計 10 バイトです。

データ型: char | string

バージョン履歴

R2019b で導入

参考

関数