web-dev-qa-db-ja.com

RS232からUSBへの変換

シリアルポートのないラップトップに古いデバイス(RS232ポート付き)を接続したい。 中国製でドライバーCDが付属していないアダプターを購入しました。検索後、正常にインストールされた「PL-2303VistaDriver」というドライバをダウンロードしました。ドライバーが作成したCOMポートを開けないハイパーターミナルを使ってアダプターをテストしたかったので、ドライバーの設定を確認するように言われました。残念ながら、設定するオプションはたくさんあります(ビット/秒、データビット、ストップビットなど)。アダプター/ドライバーが機能しているかどうかを確認するために適切に設定する方法がわかりません。

これらの設定に関するヘルプや、問題がどこにあるかを知るためのヒントはありますか?ありがとう。

2
Moayad Mardini

Hypertermがポートを開くことができない場合は、ボーレートやその他のシリアルポート構成よりも深刻な問題が発生しています。

物理的なCOMポートが表示されていないラップトップでも、USBシリアルアダプタにCOM1またはCOM2であると思わせるのは気が進まないでしょう。 COM3とCOM4でさえ、I/OアドレスとIRQ割り当てに共通のレガシープラクティスがあり、不十分に記述されたプログラムに仮定を漏らす可能性があるため、疑わしいです。個人的には、マザーボードに物理的に接続されている実際のUARTによって実装されるCOMポート用にこれらの4つの名前を予約しています(組み込みまたはISAまたはPCIバス))。

動作するはずの順序で試すべきいくつかのこと:

  • 割り当てられたポートをCOM5以降に変更するようにドライバーを再構成したことを確認してください。
  • アダプターを取り外してUSBポートに差し込みます。
  • 多くの安価なアダプタにはUSBシリアル番号が付いていないため、Windowsは特定のUSBポートを使用して区別するため、毎回同じUSBコネクタに挿入してください。他のデバイスから。これはラップトップであなたを悩ませます。

ポートを確認するには

コマンドプロンプトで、mode COM5と入力します。ここで、COM5は割り当てたポートです。 3つの結果のうちの1つが表示されます。まず、アダプターが接続され、構成され、機能している場合、COMポート構成のダンプを取得します。

 C:...>モードcom5 
 
デバイスCOM5のステータス:
 ----------------- ------ 
ボー:19200 
パリティ:なし
データビット:8 
ストップビット:1 
タイムアウト:オン
 XON/XOFF:OFF 
 CTSハンドシェイク:OFF 
 DSRハンドシェイク:OFF 
 DSR感度:OFF 
 DTR回路:ON 
 RTS回路:ON 
 
 C:...> 

次に、アダプターが接続され、構成され、問題がない場合でも、他のプログラムでポートが使用されていると、次のようなエラーが発生します。

 C:...>モードcom5 
デバイスCOM5は現在使用できません。
 
 C:...>モードcom1 

第3に、ポートの正しい名前がない場合、またはアダプターが思ったほど正しく構成されていない場合は、説明の少ないエラーが発生します。

 C:...>モードcom5 
不正なデバイス名-COM5 
 
 C:...>モードcom1 

実際には、シリアルポート自体をデバイス用に構成することは、かなり制限のない問題です。 8ビットのパリティなしに設定されたさまざまなボーレートでデバイスを安全に聞くことができます。意味のあるデータが表示され始めたら、おそらくボーレートが正しく設定されており、最良の結果を得るには、パリティとワード長を調整するだけでよい場合があります。送信と受信に異なるボーレートを使用し、ワード長とストップビットの奇数の組み合わせを必要とするデバイスが存在することに注意してください。構成に関する知識の最良の情報源は、デバイスのマニュアルです。次善の策は、ここで「Xと話す方法を誰か知っていますか」という形で2番目の質問をすることかもしれません。

Vistaに同梱されているハイパーターミナルは以前のリリースよりもバグが少ないと考えられますが、定期的に使用する必要がある場合は、適切なターミナルエミュレータを入手して交換することを常にお勧めします。 (私はシリアルポートを使用して多くの組み込みシステムプロジェクトをデバッグします。)私の推奨事項は TeraTerm で、これは無料でオープンソースです。 Hypertermが実行できるすべてのことを実行し、バグはありません。また、一部のルーターを構成したり、イーサネット経由でシリアルポートを処理したりするのに便利なTelnetデバイスと通信することもできます。

2
RBerteig

間違ったドライバをインストールした可能性があります。シリアル/ RS232からUSBへの変換で使用される2つの一般的なチップセットがあります。

ProlificまたはFTDIのいずれか。現在Prolificドライバーを使用しているようです。 FTDIドライバー を試してみてください。

2
Greg Buehler

RS232ポートのデフォルトの「フェイルセーフ」設定は、従来、次のとおりです。

ボーレート:9600

データビット:8

パリティ:なし

ストップビット:1

フロー制御:なし

これらの設定から始めて、徐々に改善していきます。

1
caliban