2012-02-15 8 views
0

シリアルポートに接続し、受信データをフォーマットして表示して保存する、かなり古いソフトウェアを継承しました。このソフトウェアは古いBorlandコンパイラ(C++ Builder 5.0)で書かれており、CreateFileを使用してポートを開き、次にcommパラメータのSetupCommを使用します。Windows:C++:ファイルからシリアルポートへのリダイレクト

誰かが私に新しい機能を追加するよう依頼しました。録画したセッションを有効にし、シリアルポートに入っているかのように再生します。

私はいくつかの可能な解決策を探しています。第2のシリアルポートとヌルモデムケーブルを含む、最も簡単で迅速なソリューションです。これはまさに彼らが念頭に置いたものではありませんが、問題を解決します。しかし、私はこのオプションを持っていないと仮定します。通信ポートをファイルにリダイレクトする方法はありますか?そのため、「comポート」を開いたときにファイルを開き、そこから読み取ることができますか?または、ファイルを開く単純な並列方法(たとえばCreateFileと同じ呼び出し)があり、必要に応じて入力がファイルから来るようにSetupCommへの呼び出しをバイパスしますか?

私は単純なハードウェアソリューションを持っているので、コードを書き直す時間を費やしたくはありませんが、簡単な方法があれば知りたいと思います。

+1

ソースコードにアクセスできる人は、 'CreateFile'の呼び出しを変更して、シリアルポートではなく必要なファイルを開くことができますか? –

+1

仮想シリアルポートドライバは数多くあり、ファイルを読み込むためにポートを設定したり、2番目の仮想ポート(ソフトウェアのヌルモデムケーブル)から読み取るために1つのポートを設定することができます。 –

+0

eznme - それが私の出発点でした。問題は、予想されるI/Oのタイプタイプと、起こっていないシリアルイベントへのコールバックなどです。 –

答えて

1

私は何とか評判のポイントをEugen Rieckに授与します、その提案は彼のものでした。私がこれをしたのは、オープンソースの仮想COMポートであるcom0comというパッケージでした。私は1つの仮想COMポートに送信するルーチンを書いて、元のソフトウェアのCOMポートをそれとペアになった別のポートに接続し、機能がそこにあります。

関連する問題