LabVIEW通信入門 シリアル通信:UART
シリアル通信(UART)とは
- シリアル通信とは、1本の信号線を使って1ビットずつ順番に(直列に)送信する通信方式です。
- 主な種類は、USB、RS-232C、UART、I2Cがあり、通信に必要なパラメータは同じで、配線、特徴、仕様が異なります。
- UART(Universal Asynchronous Receiver / Transmitter)は、TX(送信)と RX(受信)の 2本の信号線でビットを1つずつ送る非同期シリアル通信です。 クロック信号を持たないため、送受信双方が同じ設定になっている必要があります。
UART(シリアル通信)の基礎
UARTフレーム構造(1バイト送信時)

主要設定パラメータ
| パラメータ | 代表的な値 | 説明 |
|---|---|---|
| ボーレート | 9600, 115200, 460800 | 1秒間に送るビット数(bps)。送受信で必ず合わせる!高いほど高速だがノイズに弱い。 |
| データビット | 8(ほぼ固定) | 1フレームのデータ部分のビット数。通常 8bit = 1バイト。 |
| パリティ | None, Odd, Even | 簡易エラー検出用ビット。多くの場合 None。 |
| ストップビット | 1, 2 | フレーム末尾の休止ビット数。通常は 1。 |
| フロー制御 | None, RTS/CTS, XOn/XOff | 送受信の流量制御方式。組み込みでは None が多い。 |
NI-VISA
- LabVIEWでUART通信(シリアル通信)を行うには、VISA(Virtual Instrument Software Architecture)ドライバを使用します。
- VISAは、GPIB、シリアル、USB、イーサネット、PXIなどの通信を簡単に制御できるLabVIEW標準のAPIです。

LabVIEWでUART通信
LabVIEWでは、VISA関数を使用してUART通信を行うことができます。

| ステップ | 使用VI(関数) | 動作 | |
|---|---|---|---|
| 1 | ポートオープン・設定 | VISA Configure Serial Port | ポートを開いて通信条件の設定 |
| 2 | データ送信 | VISA Write | データを送信 |
| 3 | データ受信 | VISA Read | データを受信 |
| 4 | ポートクローズ | VISA Close | ポートを閉じる |
LabVIEWのVISA関数の詳細はこちら
Hiwonder miniArm(Arduino)のLabVIEWプログラム例
Hiwonder miniArm(Arduino)とUART通信を行い、 ロボットアームを制御することができます
- 通信ポートを開いて、通信パラメータを設定
- コマンドを送信(miniArmの制御コマンドを送信)
- 通信ポートを閉じる

Raspberry PiのLabVIEWプログラム例
Raspberry PiとUART通信を行い、 Raspberry Piを制御することができます。
- 通信ポートを開いて、通信パラメータを設定
- データを送信(PINをInputにする設定コマンドを送信)
- データを送信(PINのON/OFFを読み出すコマンドを送信)
- データを受信( PINのON/OFFデータを読み出す)
- 通信ポートを閉じる


