2016-09-28 20 views
0

私はcom0comとpyserialを使用しています。私は1つのポートを開き、pyserialを使ってそれに書き込み、YATエミュレータでそれを読みます。これは素晴らしいです。この設定を使用して、シリアルポートをエミュレートするUSB​​デバイスの接続をシミュレートできますか?私はUnplugge時にアプリケーションソフトウェアの実際のデバイスによってめったに投げられないUnauthorizedAccessExceptionを再作成したいと思います。 pyserialを使ってCNCA0に書き込んだ後、YATを使ってCNCB0から読み取った後、pyserialからCNCB0を閉じようとしましたが、ポートはすでにYAT(アクセスが拒否されています)によって取得されています。どのように実際のデバイスのプラグインアクションをシミュレートするためのアイデアですか?com0comおよびpyserial仮想シリアルポート。これは、シリアルUSBデバイスのプラグを抜くことをシミュレートするために使用できますか?

答えて

0

複製が簡単です。おそらく別のYATタブの別のアプリケーションでポートを開きます。別のアプリケーションと接続しようとすると、不正なアクセスエラーが発生するはずです。しかし、それが本当にあなたが求めている質問であるかどうかは分かりません。

ポートの切断をエミュレートしたい場合は、シリアルドライバの恩恵にも気づくはずです。異なるドライバは、突然のデバイスの取り外しで異なる動作をします。私が言っていることは、実際にはすべての賭けが外されているときに、弾丸に耐えられる例外処理プロセスがあると思うように自分自身を騙すことができるということです。

私はいくつかのcom0com変更コマンドを試してみましたが、ポートを "仮想的に切断"する可能性はありませんでした。利用可能なものの詳細については、setupc.exeコマンド>ヘルプを参照してください。

エミュレートされたノイズ機能を使用して再生することもできます。 com0comのコマンドシェルを開き、実行します。

change <YOUR_PORT_CNC> EmuNoise=0.0001 

この値は、データストリームの破損率です。面白いもの。

+0

ありがとうございます。私は例外を望んでいましたが、そのような単純な方法ではないと思っていました:)しかし、あなたの解説は助けになりました。特に、あなたが「あなたは弾丸に耐える例外処理プロセス。 Com0Comは驚くべきことに、私は多くのデバイスのビープ音ではなく、ほとんどのインタラクションを仮想化するのに役立ちました。テキストを1つのテキストボックスに貼り付けて、他のデバイスで出力をシミュレートします。ノイズエミュレーションはまだ試していませんが涼しいです。 – bkolluru

関連する問題