serial
(削除予定) シリアル ポート オブジェクトの作成
serial
は将来のリリースで削除される予定です。代わりに serialport
を使用してください。コードの更新の詳細については、互換性についての考慮事項を参照してください。
説明
s = serial(
は、'port'
)'port'
で指定されたシリアル ポートに関連付けられているシリアル ポート オブジェクト s
を作成します。'port'
が存在しない場合、または使用中の場合、シリアル ポート オブジェクトをデバイスに接続することはできません。
s = serial(
は、指定したプロパティ名とプロパティ値をもつシリアル ポート オブジェクトを作成します。無効なプロパティ名やプロパティ値が指定された場合、エラーが返され、シリアル ポート オブジェクトは作成されません。'port'
,Name,Value
)
例
シリアル ポート オブジェクトの作成
この例では、シリアル ポート オブジェクトの作成方法を説明します。
関数 seriallist
を使用して、使用可能なシリアル ポートを検索します。
seriallist
シリアル ポート オブジェクト s
を作成してシリアル ポート COM1
に関連付けます。このポートを最初の引数として指定してシリアル ポート オブジェクトを作成しなければなりません。
s = serial('COM1');
シリアル ポート COM3
に関連付けられたシリアル ポート オブジェクト s2
を作成して、プロパティを設定します。オブジェクトの作成時にオプションで、通信プロパティを端子引数の後に名前と値のペアを指定して設定できます。この例では、ボー レートを 4800、終端文字を CR に設定します。これらの値はオブジェクトの出力で確認できます。
s2 = serial('COM3','BaudRate',4800,'Terminator','CR')
入力引数
'port'
— シリアル ポート名
文字ベクトル | string
シリアル ポート名。文字ベクトルまたは string として指定します。関数 seriallist
は利用できるシリアル ポートのリストを提供します。シリアル ポート オブジェクトを作成するポートを指定しなければなりません。
ポート名はシリアル ポートがあるプラットフォームに依存します。以下のリストに、異なるプラットフォーム上でのシリアル コンストラクターの例を示します。
プラットフォーム | シリアル ポート コンストラクター |
---|---|
Linux® 64 | s = serial('/dev/ttyS0') |
macOS 64 | s = serial('/dev/tty.KeySerial1') |
Windows® 64 | s = serial('COM1') |
例: s = serial('COM1')
データ型: char
| string
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: s = serial('COM2','BaudRate',1200,'DataBits',7);
関数 serial
で使用できるシリアル ポート オブジェクト プロパティのリストについては、serial のプロパティを参照してください。
メモ
ポートはシリアル オブジェクトの作成に使用される最初の引数でなければなりません。その後、サポートされている任意の数の名前と値のペアをポートに続けることができます。
BaudRate
— ビットが送信されるレート
9600 (既定値) | double
ビットが送信されるレート。'BaudRate'
と double で構成されるコンマ区切りのペアとして指定します。ボー レートはビット/秒として設定されます。送信されるビットには、スタート ビット、データ ビット、パリティ ビット (使用される場合)、ストップ ビットが含まれます。ただし、データ ビットのみが格納されます。
ボー レートは、情報が通信チャネルで送信される速度です。シリアル ポートのコンテキストでは、9600 ボーはシリアル ポートが 1 秒に最大 9600 ビットを送信できることを意味します。情報の単位が 1 ボー (1 ビット) である場合、ビット レートとボー レートは同一です。1 ボーが 10 ビット (8 データ ビットと 2 フレーミング ビットなど) として与えられている場合、ビット レートは 9600 のままですが、ボー レートは 9600/10 または 960 になります。BaudRate
は常にビット/秒として設定されます。
メモ
コンピューターと周辺デバイスでデータの読み取りおよび書き込みを正常に行うには、同じボー レートに構成しなければなりません。
標準のボー レートは、110、300、600、1200、2400、4800、9600、14400、19200、38400、57600、115200、128000、256000 ビット/秒です。
次の構文を使用して、シリアル オブジェクトを作成した後に BaudRate
プロパティを設定することもできます。
s.BaudRate = 4800;
例: s = serial('COM1','BaudRate',4800);
データ型: double
ByteOrder
— デバイスのバイト順
littleEndian (既定値) | bigEndian
デバイスのバイト順。'ByteOrder'
と、littleEndian
または bigEndian
で構成されるコンマ区切りのペアとして指定します。ByteOrder
が littleEndian
の場合は、デバイスは最初のバイトを最初のメモリ アドレスに保存します。ByteOrder
が bigEndian
の場合は、デバイスは最後のバイトを最初のメモリ アドレスに保存します。
たとえば、16 進数値 4F52 がデバイス メモリに保存されると仮定します。この値は 4F と 52 の 2 つのバイトで構成されているので、2 つのメモリ位置が利用されます。ビッグ エンディアン形式を使用すると、4F が先に小さいストレージ アドレスに保存されます。リトル エンディアン形式を使用すると、52 が先に小さいストレージ アドレスに保存されます。
littleEndian
のバイト順は既定の設定であり、プロパティを指定しない場合に読み取りと書き込みの操作で使用されます。プロパティを指定しなければならないのは、バイト順を bigEndian
に変更する場合のみです。
次の構文を使用して、シリアル オブジェクトを作成した後に ByteOrder
プロパティを設定することもできます。
s.ByteOrder = 'bigEndian';
メモ
読み取りまたは書き込み操作を行う前に、ByteOrder
をデバイスに対して適切な値に構成します。バイトを保存する順番に関する詳細は、デバイスのドキュメンテーションを参照してください。
例: s = serial('COM1','ByteOrder','bigEndian');
データ型: char
| string
DataBits
— 送信するデータ ビット数
8 (既定値) | 5 | 6 | 7
送信するデータ ビット数。'DataBits'
と 5
、6
、7
、または 8
で構成されるコンマ区切りのペアとして指定します。これは既定の設定です。データは 5、6、7、8 個の一連のビットとして送信され、最下位ビットが最初に送信されます。ASCII 文字を送信するには少なくとも 7 個のデータ ビットが必要です。バイナリ データを送信するには 8 ビットが必要です。5 ビットおよび 6 ビット データ形式は、特殊な通信機器に利用されます。
メモ
コンピューターと周辺デバイスは、同数のデータ ビットを送信するように構成しなければなりません。
データ ビットに加えて、シリアル データ形式はスタート ビット、1 個または 2 個のストップ ビット、およびパリティ ビット (必要な場合) で構成されます。StopBits
プロパティを使用してストップ ビットの数を指定し、Parity
プロパティを使用してパリティ チェックのタイプを指定します。
次の構文を使用して、シリアル オブジェクトを作成した後に DataBits
プロパティを設定することもできます。
s.DataBits = 7;
例: s = serial('COM1','DataBits',7);
データ型: double
Parity
— パリティ チェックのタイプ
none (既定値) | odd | even | mark | space
パリティ チェックのタイプ。'Parity'
と、none
、odd
、even
、mark
、または space
で構成されるコンマ区切りのペアとして指定します。
| 既定の設定。パリティ チェックは行いません。パリティ チェックは行われず、パリティ ビットは送信されません。 |
| Odd パリティ チェック。データ内の mark ビット (1 の) 数がカウントされ、奇数の mark ビットを取得するためにパリティ ビットはアサートされるか、またはアンアサートされます。 |
| Even パリティ チェック。データ内の mark ビット数がカウントされ、偶数の mark ビットを取得するためにパリティ ビットはアサートされるか、またはアンアサートされます。 |
| Mark パリティ チェック。パリティ ビットはアサートされます。 |
| Space パリティ チェック。パリティ ビットはアンアサートされます。 |
パリティ チェックは、1 ビットのエラーのみを検出できます。2 ビットのエラーが発生した場合は、データが実際には不正確であっても、表面上有効なパリティをもつ場合があります。
パリティ ビットに加えて、シリアル データ形式はスタート ビット、5 から 8 のデータ ビット、1 つまたは 2 つのストップ ビットで構成されます。DataBits
プロパティを使用してデータ ビット数を指定し、StopBits
プロパティを使用してストップ ビット数を指定します。
次の構文を使用して、シリアル オブジェクトを作成した後に Parity
プロパティを設定することもできます。
s.Parity = 'even';
例: s = serial('COM1','Parity','even');
データ型: char
| string
StopBits
— バイトの終了を示すためのビット数
1 (既定値) | 1.5 | 2
バイトの終了を示すためのビット数。'StopBits'
と 1
、1.5
、または 2
で構成されるコンマ区切りのペアとして指定します。StopBits
が 1
の場合は、データ送信の終了を示すために 1 個のストップ ビットが利用されます。StopBits
が 2
の場合は、データ送信の終了を示すために 2 個のストップ ビットが利用されます。StopBits
が 1.5
の場合は、ストップ ビットは 1 ビットの送信のための標準的な時間の 150% で送信されます。
メモ
コンピューターと周辺デバイスは、同数のストップ ビットを送信するように構成されていなければなりません。
可能な値の一覧です。
| 既定の設定。バイトの終了を示すために 1 つのストップ ビットが送信されます。 |
| ストップ ビットは、1 ビットの標準的な送信時間の 150% で送信されます。 |
| バイトの終了を示すために 2 つのストップ ビットが送信されます。 |
ストップ ビットに加えて、シリアル データ形式は、スタート ビット、5 個から 8 個のデータ ビット、パリティ ビット (必要な場合) で構成されます。DataBits
プロパティを使用してデータ ビット数を指定し、Parity
プロパティを使用してパリティ チェックのタイプを指定します。
次の構文を使用して、シリアル オブジェクトを作成した後に StopBits
プロパティを設定することもできます。
s.StopBits = 2;
例: s = serial('COM1','StopBits',2);
データ型: double
Terminator
— 終端文字
string
終端文字。'Terminator'
と string で構成されるコンマ区切りのペアとして指定します。Terminator
を 0 ~ 127 の範囲の整数値に構成します。これは、文字に対する ASCII コードを示します。または Terminator
を ASCII 文字に構成することもできます。たとえば、Terminator
をキャリッジ リターンに構成するには、値を CR
または 13
に指定します。Terminator
を改行に構成するには、値を LF
または 10
に指定します。Terminator
を CR/LF
または LF/CR
に設定することもできます。Terminator
が CR/LF
の場合は、終端文字はキャリッジ リターン (CR) の後に改行文字 (LF) が続きます。終端文字が LF/CR
の場合は、終端文字は改行文字 (LF) の後にキャリッジ リターン (CR) が続きます。これらの 2 つの値と等価な整数はないことに注意してください。
また、Terminator
を 1 行 2 列の cell 配列に設定できます。セルの最初の要素は読み取り終端文字で、cell 配列の 2 番目の要素は書き込み終端文字です。
関数 fprintf
を使用して書き込み操作を実行する際、発生するすべての \n
は Terminator
プロパティ値で置き換えられます。%s\n
は、関数 fprintf
に対する既定の形式です。関数 fgetl
、fgets
、fscanf
を使用した読み取り操作は、Terminator
の値が読み取られると終了します。終端文字は、二項演算では無視されます。
BytesAvailableFcnMode
が terminator
に設定されているとき、終端文字を使用してバイト利用可能なイベントを生成することもできます。
次の構文を使用して、シリアル オブジェクトを作成した後に Terminator
プロパティを設定することもできます。
s.Terminator = 'CR';
例: s = serial('COM1','Terminator','CR');
データ型: char
| string
ヒント
関数 serial
で使用できるシリアル ポート オブジェクト プロパティのリストについては、serial のプロパティを参照してください。
デバイスを使用して通信を行うには、そのデバイスが、関数
を使用して fopen
obj
に接続されていなければなりません。接続されたシリアル ポート オブジェクトでは、Status
プロパティの値が open
になります。オブジェクトがデバイスに接続されていないときに読み込みまたは書き込み操作を実行すると、エラーが返されます。1 つのシリアル ポートには、1 つのシリアル ポート オブジェクトのみを接続できます。
バージョン履歴
R2006a より前に導入R2022a: 警告
serial
は将来のリリースで削除される予定です。代わりに serialport
を使用してください。
この例では、推奨される機能を使用してシリアル ポートに接続する方法を説明します。
機能 | 代替方法 |
---|---|
s = serial("COM1");
s.BaudRate = 115200;
fopen(s) | s = serialport("COM1",115200); |
推奨されるインターフェイスには追加の性能があり、パフォーマンスも改善されています。推奨される機能の使用の詳細については、serialport インターフェイスへのコードの遷移を参照してください。
R2021b: 削除予定
関数 serial
は警告なしでく実行されますが、コード アナライザーでは serial
が将来のリリースで削除されることが示されます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)