シリアル通信

基本操作

シリアル通信では,データの受信と送信にRXピンとTXピンを使用する.

1.gif

共通のクロック信号がないため,どちらのデバイスもいくつかのパラメータが一致しなければならない.マイクロコントローラの"Serial"指定に,必要に応じて以下のパラメータを使うことができる.

"BaudRate"Automaticデータ転送レート(ビット/秒)
"DataBits"Automatic使用するフレームあたりのデータビット数
"Parity"Automaticパリティビット設定
"StopBits"Automatic使用するストップビット数

基本的なシリアル指定

パッケージをロードする.
ボーレートを設定する.

UnoにはRXピンとTXピンが1つずつしかないので,可能な指定は"Serial"だけである.

入力ピンと出力ピンは1つずつしかないので,明示的に与える必要はない.

また,この他,送信される実際のデータを設定するための指定もある.

"StartByte"19 (XOff)送信された,または受信する最初のバイト
"DelimiterByte"44 (,)データ間のバイト
"EndByte"17(XOn)送信された,または受信する最後のバイト
"FractionalPartDigits"Automatic小数部の桁数

シリアルデータ指定

"DelimiterByte"は入力チャンネルまたは出力チャンネルが2つ以上ある場合に関与してくる.

区切りバイトを空白文字と設定する.

配備されたコードのパラメータはMicrocontrollerCodeDataオブジェクトから取り出せる.

シリアル特性の値.

"BaudRateError"はボーレートの誤差率を与える."TransmissionSpeedMode"等の特性は,マイクロコントローラ特有である."BaudRateError"以外のすべての特性は"Serial"オプションで設定できる.

特定の特性値を抽出することもできる.

ボーレート値.

仮想COMポート

マイクロコントローラのシリアル機能はUSB上で設定できることがある.その場合,RXピンとTXピンではなく,代わりにUSBピンであるD-とD+を使用する.

通信は仮想ポート上で行われ,パラメータは"SerialOverUSB" を使って設定する.それ以外は通常の場合と同様のワークフローとなる.

開始バイトをに設定する.
開始バイトの値を取り出す.

デバイスフレームワーク

Arduino Micro等,シリアル機能がソフトウェアで実装されているボードもあるが,Arduino Uno等のようにUSB-シリアル変換器を持つボードもある.どちらのボードも,シリアルインターフェースを使い,USBポートを通してパーソナルコンピュータと通信できる.Wolfram Device Frameworkはこのシリアルインターフェースを通してこれらのボードと通信できる.

まず,データの送信または受信ができるようにマイクロコントローラを設定する必要がある.

数値データの送受信ができるようにマイクロコントローラを設定する.

マイクロコントローラがシリアルデバイスになったので,デバイスフレームワークを使ってシリアル接続を開く.

接続を開く.
データの送受信タスクを開始する.
データをプロットする.
タスクを停止し,デバイスへの接続を閉じる.