送受信サンプル[comwriteread]

外観:

概略

シリアル通信経由で、データを送信、および受信するサンプルプログラムです。
通信パラメータ設定を変更することもできます。

サンプル仕様   

※サンプルプログラムの初期値です。

プログラム名

./comwriteread.py

ボーレート

9600bps

データ長

8

ストップビット

1

パリティ

なし

pySerialモジュール (https://pythonhosted.org/pyserial/)を使ったサンプルプログラムです。
サンプルプログラムを実行する場合、事前に、pySerialをインストールしてください。

なお、Pythonはインタープリタ型のプログラム言語です。
このため、事前にソースコードをコンパイルする必要はありません。

使用手順

1.サンプルプログラム起動後に使用するシリアルポート名を入力します。
  

例:COM-1(USB)Hを1台のみ使用する場合のシリアルポート名
              /dev/ttyUSB0

例:COM-2(PCI)Hを1台のみ使用し、デバイス上のCN1とケーブル接続する場合のシリアルポート名
              /dev/ttyCom0

2.シリアルポート名を指定すると、コマンドメニューが表示され、キーボード入力待ちとなります。
  キーボードで該当する数字を入力し、希望するコマンドを選択します。
  

3.コマンドメニューで、"0:Set Parameter"コマンドを選択すると、シリアル通信のパラメータを設定できます。
  シリアル通信のパラメータを変更しない場合は、選択する必要ありません。

  各パラメータは、設定可能なパラメータリストを表示した後、キーボード入力待ちとなります。
  キーボードで該当する数字を入力し、希望するパラメータを選択してください。

  全パラメータを選択すると、"Set Parameter OK"が表示されます。
  その後、設定された通信パラメータ一覧が表示され、再び、コマンドメニューが表示され、キーボード入力待ちとなります。

例:ボーレート:38400bps、データ長:8ビット、ストップビットなし、パリティなし、全二重、フロー制御なしの場合

4.コマンドメニューで、"1.Write"コマンドを選択すると、"Input Write Data:"が表示され、キーボード入力待ちとなります。
  シリアル通信経由で文字列を送信しない場合は、コマンド選択する必要ありません。
  

  送信する文字列データをキーボードで入力した後、Enterキーを押すと、シリアル通信経由で文字列データが送信されます。
  正常に文字列が送信できると、"Send OK"と表示され、再び、コマンドメニューが表示され、キーボード入力待ちとなります。

例:送信する文字列に"Test string"を指定した後、Enterキーを押した画面表示

5.コマンドメニューで、"2.Read"コマンドを選択すると、"Read Data: b"の表示に続き、シリアル通信経由で受信した文字列が表示されます。
  シリアル通信経由で文字列を受信しない場合は、コマンド選択する必要ありません。

  受信した文字列を表示し、再び、コマンドメニューが表示され、キーボード入力待ちとなります。

  一度に受信できる文字列は、最大50文字です。
  タイムアウト時間は1秒です。

例:受信した文字列がない場合、下図のような画面表示

例:"Test string"文字列を、シリアル通信経由で受信した画面表示

5.コマンドメニューで、"3.Exit"コマンドを選択すると、サンプルプログラムは終了します。

 

【補足: 設定可能なシリアル通信パラメータ一覧】

全てのシリアル通信パラメータは、送信側と受信側で一致させる必要があります。
通信パラメータの不一致があると、正常に通信しません。

通信パラメータ名

パラメータ設定画面

概要

Baud Rate

ボーレートは、300bps~921600bpsで設定できます。

Byte Size

データ長は、5~8で設定できます。

Stop Bit

ストップビットは、1、1.5、2から選択できます。

Parity

パリティを選択します。

None:なし(パリティチェックしなし)
Odd:奇数パリティチェック
Even:偶数パリティチェック

Flow Control

ハードウェアフロー制御を選択します。

None: フロー制御しない
RTS/CTS: RTS/CTS制御線を利用する
DSR/DTR: DSR/DTR制御戦を利用する