dポイントプレゼントキャンペーン実施中!

表題の件ですが、、、
ある機器とUSBで接続すると、デバイスマネージャとしては、「COMポート」と認識します。
この状態で、COM通信を行いたいのですが、、、、

1パケットあたりの最大サイズはどうなるのでしょうか?
COMであれば、上限はバッファで割り当てられたサイズ(機器/PCで)になるのかと思うのですが、、、

PC:Windows7
機器:LinuxOS(組み込み)
CDC Driver:Windows標準 、、、機器側は、標準と聞いていますが不明。。(ttyGSと書いてあった)


自分で試している分では、なぜか512Byte以上のデータを転送(WriteFile)をすると、受け取り側(機器)で512Byte以上読めない(ReadFileで読み出せない)ように見えます。

USB-CDCの場合は、1パケットの上限が決まっていたりしますか?
(10MB程度のデータ転送を行う必要も有り、1パケットあたりの転送量が少ないと転送効率が悪いと思うので、改善したいのが目的です。ヘッダが20Byteは必要なので、、、)

COM通信に見えて、USBのBulk転送の制約があるのかな・・????

知っている人がいましたら、ご教授願いたいと思います。
申し訳ありませんが、協力を宜しくお願いします。

一部のHPでは、USBのBluk転送が1パケット512Byteと書いてあるところもありました。

A 回答 (1件)

COMポートと認識しているという事はシリアル通信ですよね


シリアル通信自体に、パケットという概念はありません
簡単に言うとOPENさえしていればデータが垂れ流しで延々と
届いても良い通信規格です

質問内容は、機器の仕様になると思いますので
その機器のメーカーに問い合わせてください
    • good
    • 0
この回答へのお礼

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

機器側にはUSB-RS232Cにハード的に変換していないので、
Linux組み込みの中で制約が入っているって感じなのかな?

ネットで見てもよくわからないんですよね。
(CDC-ACMが該当するような感じがするのですが、いまいち理解出来ていないです)


CDC-ACMとシリアルポートは違うのでしょうか???

お礼日時:2012/07/05 15:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!