• 締切済み

H8SX1655のUSB通信について

H8SX1655を使って計測器を作ってます。 計測したデータをH8SX1655のUSBを使ってパソコンにCDCクラスで転送してます。 パソコン側でCOMポート回線を開いている時だけ、計測器からパソコン側にデータを送信したい。 パソコン側のCOMポート回線の状態を計測器側で知る方法を教えてください。

みんなの回答

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

CDCは使ったことがありませんが、これがRS-232Cをエミュレーションしている以上は基本的にポート開閉状態の取得は「できない」と考えるのが妥当でしょう。 ポートが開くのを待っているとなると通信方式が同期式になっている(同期信号待ち)のではないかと思いますが、非同期(調歩同期)で送信することはできませんか?

noname#145213
質問者

お礼

回答ありがとうございます

noname#145213
質問者

補足

非同期バルクイン転送です。 装置→パソコンに転送中に、パソコン側で回線を開いていないと、なんらかのコマンドが装置側に送られてきて又は送られてこず、装置側ハードウエア的な待ち状態になっていると思われます。プロトコルコンバータ等があれば何のコマンドが送られてきているのかわかるのでしょうが、デバッカー、CPUシュミレータ等もありませんので、このような現象に遭遇された方の回答を待ってます。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

COMポート(RS-232C)は「相手の状態を取得する」ことはできません。 ですから、どうしても必要であればPCから何らかの形でCOMポートの状態を渡す必要があります。

noname#145213
質問者

お礼

回答して頂きありがとうございます。

noname#145213
質問者

補足

今、困っている内容の詳細は、H8SX1655でのUSB通信(CDCクラス)ですが、パソコン側でCOMポートを開かずに、測定器→パソコンにデータを送信すると、あるバイト数のデータを送信したところで、測定器のH8SX1655の動作が止まってしまう。そして、パソコンのCOMポートを開くと、H8SX1655が止まった状態から再度動き出すというような現象です。 やりたいことは、以下の2つです。 1. パソコン側のソフトを動かして、計測器からのデータの取得。   ---COMポートをソフトで開いているので、できる。 2. 計測器から操作してパソコン側にデータを送信。         パソコン側のソフトが動いていればデータ取得。   ---COMポートをソフトで開いているので、できる。   パソコン側のソフトが動いてなければデータ取得はしない。   ---COMポートを開いていない。H8SX1655ハング 2のパソコン側のソフトが動いてない時に、つまりCOMポートを開いてない時に、測定器→パソコンにデータを転送すると、測定器のH8SX1655がハングするので、パソコン側のCOMポートの回線の開閉状態を可能であれば知りたいということです。 USBのコネクタがパソコンに接続されているかいないかは測定器側で知ることはできますが、COMポートの回線の開閉状態を知ることは、USBのCDCクラスの仕様として 不可能なのでしょうか?

関連するQ&A