シリアル通信を使ったプログラムの改修をしたのですが、ハードウェア的にテストする環境がないという…
普通今どきのPCにシリアルポートなんてついてないですよね。
USBからCOMに変換するケーブルで対応することもできますが、ハードウェアを用意しなくても仮想環境で簡単にテストする事もできます。
今回は、仮想シリアルポートでシリアル通信の簡単なテストを行う方法のご紹介です。
Windows10での方法になります!
com0comで仮想シリアルポートの環境を構築
com0comというツールをインストールするだけで、仮想シリアルポートの環境ができあがります!
com0comをインストール
下記のURLからインストールしましょう!
ダウンロードURL:https://sourceforge.net/projects/com0com/files/com0com/2.2.2.0/
Null-modem emulatorと表示されますが、間違っているわけではないのでご安心ください。
緑のDownload Latest Versionというボタンをクリックするとcom0comをダウンロードできます!
テストする為にループバック設定をする
com0comを使って、ループバックの設定を行います。
COMポートの発信側と受信側の両方を自分自身にする事で、PC1台でテストします。
今回は下記のように、COM1とCOM11を繋げます。
COM1とCOM11をそれぞれ入力したら、Applyボタンを押します。
この設定を行う事で、下記のように動くようになります。
- COM1から送信した内容はCOM11で受信
- COM11から送信した内容はCOM1で受信
プログラムでCOM1からデータを送信していれば、COM11で受信できるわけですね。
Tera Termで受信内容を確認する
COMポートのループバックの設定ができたら、受信を確認する準備を行いましょう。
受信の確認はTera Termで出来ます。
システムエンジニアでは、定番のツールだったりするので使い慣れている方も多いのではないでしょうか。
持っていない方は下記からダウンロードできますのでどうぞ!
Tera TermダウンロードURL:http://forest.watch.impress.co.jp/library/software/utf8teraterm/
Tera Termを起動したら下記のような接続を設定しましょう。
- シリアルを選択します。
- ポートは、com0comで設定したポートが表示されているので、受信側のポートを選択します。
今回はCOM11で受信するので、COM11で接続するとプログラムがCOM1に送信したデータが表示されます。
(受託開発のプログラムの受信内容なので一応画像をぼかしています。)
これで仮想シリアルポートでの通信確認は完了です!
Tera Termで文字化けする時の対処法
おそらくそのままTera Termに表示すると受信した内容が文字化けしてしまうと思います。
その場合はTERATERM.INIを修正してバイナリで表示すると良いと思います。
TERATERM.INIの場所
TERATERM.INIのDebugをonに変更します。
; Display all characters (debug mode) Debug=on
修正したら再起動して設定を反映させましょう。
設定が反映されると「Shift + Esc」同時押しで、表示モードが切り替わるようになっています。
2回押すと、バイナリ表示に切り替わります!
まとめ:com0comでシリアル通信をテスト出来る
仮想シリアルポートで簡易的にシリアル通信をテストする方法でした!
最終的には実機でテストすると思いますが、開発中の簡単なテストはこれでも良いかなと思います!
最後までお読み頂きありがとうございました!