Main Content

configureCallback

シリアル ポート デバイスと通信するためのコールバック関数とトリガー条件の設定

R2019b 以降

説明

configureCallback(device,"terminator",callbackFcn) は、指定されたシリアル ポートから終端文字が読み取り可能であるときは常にトリガーするよう、コールバック関数 callbackFcn を設定します。この構文では、deviceBytesAvailableFcnMode プロパティを "terminator" に設定し、BytesAvailableFcn プロパティを callbackFcn に設定します。

configureTerminator を使用して終端文字を設定します。

configureCallback(device,"byte",count,callbackFcn) は、新しい count バイト数が読み取り可能である場合は常にトリガーするよう、コールバック関数 callbackFcn を設定します。この構文では、deviceBytesAvailableFcnMode プロパティを "byte"BytesAvailableFcnCount プロパティを count、および BytesAvailableFcn プロパティを callbackFcn に設定します。

configureCallback(device,"off") はコールバックをオフにします。この構文では、deviceBytesAvailableFcnMode プロパティを "off" に設定します。

すべて折りたたむ

シリアル ポート デバイスへの接続を作成します。

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

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

読み取り可能な終端文字があるときにトリガーするように、コールバックを設定します。

configureCallback(device,"terminator",@callbackFcn)

プロパティを表示して変更を確認します。

device.BytesAvailableFcnMode
device.BytesAvailableFcn
ans = 

    "terminator"


ans =

  function_handle with value:

    @callbackFcn

コールバックをオフにします。

configureCallback(device,"off")

コールバックがオフになっていることを確認します。

device.BytesAvailableFcnMode
ans = 

    "off"

シリアル ポート デバイスへの接続を作成します。

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

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

新しいデータの 50 バイトが読み取り可能になるたびにコールバックがトリガーするように設定します。

configureCallback(device,"byte",50,@callbackFcn)

プロパティを表示して変更を確認します。

device.BytesAvailableFcnMode
device.BytesAvailableFcnCount
device.BytesAvailableFcn
ans = 

    "byte"


ans =

    50


ans =

  function_handle with value:

    @callbackFcn

コールバックをオフにします。

configureCallback(device,"off")

コールバックがオフになっていることを確認します。

device.BytesAvailableFcnMode
ans = 

    "off"

シリアル ポート デバイスへの接続を作成します。

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

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

ASCII 終端処理された string データを読み取り、それを deviceUserData プロパティに保存するコールバック関数を作成します。

function readSerialData(src,evt)
    data = readline(src);
    src.UserData = data;
end

読み取り可能な終端文字があるときにトリガーするように、コールバックを設定します。

configureCallback(device,"terminator",@readSerialData)

入力引数

すべて折りたたむ

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

例: configureCallback(device,"byte",128,@callbackFcn) は、シリアル ポート接続 device から新しいデータの 128 バイトが読み取り可能になるたびに callbackFcn コールバックがトリガーするように設定します。

コールバックをトリガーするために使用可能なデータのバイト数。正の整数値として指定します。この引数を使用して BytesAvailableFcnCount プロパティを設定します。

例: configureCallback(device,"byte",128,@callbackFcn) は、新しいデータの 128 バイトが読み取り可能になるたびに callbackFcn コールバックがトリガーするように設定します。

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

トリガー条件が満たされたときに実行されるコールバック関数。関数ハンドルとして指定します。関数ハンドルは、名前付き関数ハンドルまたは入力引数をもつ無名関数になります。この引数を使用して BytesAvailableFcn プロパティを設定します。

例: configureCallback(device,"terminator",@callbackFcn) は、終端文字が読み取り可能なときにトリガーするように、callbackFcn コールバックを設定します。

データ型: function_handle

バージョン履歴

R2019b で導入