通知
すべてクリア
Topic starter
2009年7月13日 7:48 PM
開発環境:VisualC++2008 WindoswXP SDK開発 (非MFC)
こんにちわ。シリアル通信についてお尋ねです。
RS232Cで機器制御をするプログラムがあるのですが、
出先の機器が無い状態でもソフトウェアの動作確認をする為に、
COM1に流れるデータをモニタし、COM1へ制御コマンドを割り込ませるソフトウェアを
作りたいのです。
ただ、既にCOM1が開かれていると、同じCOM1ポートをオープンしようにも
CreatFile()がエラーを出してしまいます。
この場合はどのような処理をすれば良いのでしょうか?
2009年7月13日 9:50 PM
提示の要望を文字通りに実現するには多分フィルタドライバを実装する必要がある。
でもそれでは「やりたいこと」と「やらなきゃならないこと」のコストが合わない、
と思うぞ(フィルタドライバを作るためにどれだけ苦労せにゃならんか・・・)
俺なら COM2 と COM1 をクロスケーブルで結んで
COM2 上に当該機器のシミュレータを組む、かな・・・
同一マシン上で動作させることもできるし別マシンを用意してもいいし。
PCと当該機器間にどんな通信データが流れているか調べたいだけなら
「プロトコルアナライザ」を買ってくるほうが手っ取り早い。
ソフトを自作するための期間や必要なツールや勉強量と
出来合いのアナライザを買ってくるコストとでは絶対後者のほうが安い。
Topic starter
2009年7月14日 1:31 AM
お答えありがとうございます。
なるべく手数を減らしたいので
COM1とCOM2のポートをクロスケーブルを使って繋ぐ手法を取ろうと思います。
ありがとうございました。