Main Content

シリアル ポート オブジェクトの作成

シリアル ポート オブジェクトの作成

シリアル ポート オブジェクトを関数 serialport を使って作成します。serialport には、入力引数として、デバイスに接続されているシリアル ポートの名前とボー レートが必要です。また、名前と値のペアの引数を使用して、オブジェクトの作成中にプロパティ値を構成することもできます。

それぞれのシリアル ポートオブジェクトは、1 つのシリアル ポートに関連付けられています。たとえば、シリアル ポート COM1 にあり、4800 のボー レートに設定されているデバイスに接続します。

s = serialport("COM1",4800);

指定したシリアル ポートが存在しない場合、または使用中の場合、シリアル ポート オブジェクトをデバイスに接続することはできません。ポート名はシリアル ポートがあるプラットフォームに依存します。

関数 serialportlist を使用して、USB-to-serial デバイスや Bluetooth® シリアル ポート プロファイル デバイスで提供されるバーチャル シリアル ポートを含む、システム上にあるすべてのシリアル ポートのリストを返すこともできます。リストには、コンピューターでアクセスでき、シリアル ポート通信に使用できるすべてのシリアル ポートが表示されます。

serialportlist
ans = 

  1×3 string array

    "COM1"    "COM3"    "COM4"

次の表では、異なるプラットフォーム上でのシリアル コンストラクターの例を示します。

プラットフォーム

シリアル コンストラクター

Linux® 64 ビット

s = serialport("/dev/ttyS0",9600);
macOS 64 ビット
s = serialport("/dev/tty.KeySerial1",9600);

Microsoft® Windows® 64 ビット

s = serialport("COM1",9600);

メモ

呼び出し s = serialport("COM1",9600) を使用して MATLAB® でシリアル ポートにはじめてアクセスを試みる際は、ポートがフリーで、他のアプリケーションで既に開かれていないことを確認してください。ポートが他のアプリケーションで既に開いていると、MATLAB はポートにアクセスできません。MATLAB でシリアル ポートにアクセスした後は、同じポートを別のアプリケーションで開くことができ、そのポートを開いているアプリケーションと一緒に MATLAB で引き続き使用することができます。

シリアル ポート オブジェクト表示

シリアル ポート オブジェクトは重要な構成と状態の情報をまとめた便利な表示を提供します。概要の表示は 3 つの方法で起動できます。

  • コマンド ラインでシリアル ポート オブジェクト変数名を入力する。

  • シリアル ポート オブジェクトを作成するときにセミコロンを除外する。

  • ドット表記を使用してプロパティを構成するときにセミコロンを除外する。

instrument オブジェクトを右クリックして、コンテキスト メニューから [概要の表示] を選択することで、ワークスペース ブラウザーを使用して概要情報を表示することもできます。

Windows マシン上のシリアル ポート オブジェクト s の概要表示を、以下に記します。

s = serialport("COM4",9600)
s = 

  Serialport with properties:

                 Port: "COM4"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, all methods

                      Port: "COM4"
                  BaudRate: 9600
         NumBytesAvailable: 0

                 ByteOrder: "little-endian"
                  DataBits: 8
                  StopBits: 1
                    Parity: "none"
               FlowControl: "none"
                   Timeout: 10
                Terminator: "LF"

     BytesAvailableFcnMode: "off"
    BytesAvailableFcnCount: 64
         BytesAvailableFcn: []
           NumBytesWritten: 0

          ErrorOccurredFcn: []
                  UserData: []

ドット表記を使用して、プロパティ値の構成と表示を行います。

s.BaudRate = 4800;
s.BaudRate
ans =

        4800
これらのプロパティの設定の詳細については、serialport を参照してください。