RS232Cシリアル通信(シリアル通信)のデバッグ方法 by けんちょメソッド

マイコンを使って,かつPCで処理をさせるとか,PCからのコマンドに基づいて マイコンを動かすとか言う話は,ロボットに限らずいろんなところでやられている 話です.

シリアル通信に限らず,通信というものは必ず送信側と受信側という2つの立場が現れるので, 1か所で閉じた開発ということが難しいです.

上記の例で言えば,PC側で受信のプログラム,マイコン側で送信のプログラムを作成し,それぞれが正常に動いている場合に限り,通信が行えるようになります.

多くの開発者の人はこういったものをすでに持っているので,苦労しないのですが, 何もないところから1から作ろうと思うと,下記のステップを踏まざるを得ません.

1.マイコン側の通信プログラムのデバッグ 2.PC側の通信プログラムのデバッグ 3.組み合わせての最終確認

そこで,参考になるかは激しく微妙ですが,私のやり方をば...

マイコン側の通信プログラムのデバッグ

マイコン→PCの場合

PC上で動作するRS232Cシリアル通信のデバッグに使えるソフトはたくさんあります. そのなかでおすすめするのは,Serial Debuggerです. このソフトウェアでは,受信データがバイナリで見れるため,解析が行いやすいというのが一番. このソフトと何度もつらい開発を乗り切りました...

使い方はマニュアル等を見てもらうとして,このソフトでCOMポートおよび,通信速度などの設定をすることで,マイコンとの通信ができるようになります.

マイコンから得られるデータが化けている場合,回路があっているとすれば,通信速度があってない可能性があるので,通信の設定を確認してみてください.

PC→マイコンの場合

これは意外とむずかしい.ただ,上のチェックができたなら,エコーバックさせるのがいいと思います. つまり,マイコン上では受信したデータをそのまま送り返すわけです. 受信設定が正常であれば,正しいデータが返ってくるし,正しくなければデータはデータはおかしくなるか,音信不通になります...

こちらも上で紹介したSerial Debuggerが使えます.

PCでアプリを作る場合

PCでシリアル通信用のプログラムを作る場合,ターゲットがないため,どうやってデバッグしたらいいのか悩みます. リッチな環境であれば,USB-RS232Cケーブル2本とRS232Cのクロスケーブルを用意してその間で通信させ,片方にモニタリング用にSerial Debuggerとするわけですが, なかなか,そうも都合よくツールがそろっていることもない...

そんな時に便利なのがcom0com. シリアルポートのエミュレータ?です.(設定等はマニュアル等参照) これを使えばハードウェア的につなぐ必要もなくなってコンパクトかつスマートにシリアル通信のデバッグを行えます.

まとめ

なかなか面倒くさいマイコンとPCの間の通信のデバッグ方法について示しました. シリアル通信はまだいいのですが,これが無線になると...さらにめんどう... こういうことはたいてい学部で研究を始めたばかりの人がやる話だと思うので, 何かの参考になればよいかなと. 何かありましたらコメント下さい!

コメント

名前:
コメント:
最終更新:2011年09月10日 15:58