USB2.0のフルスピード実装である組み込みデバイス用の通信デバイスクラス(CDC)ドライバーに取り組んでいます。COMポート設定は、115200、8ビット、パリティなし、1ストップビット、フロー制御なしです。私たちのPCアプリケーション(32ビット、Windows 7、.NET 2.0)は、仮想COMポートを介してターゲットデバイスと通信します。仮想COMポートは、ターゲットデバイス上でFTDI(USB-to-SCIブリッジ)チップまたは統合USBのいずれかに接続できます。アプリケーションによって選択されたポートに応じて、マイクロコントローラの周辺機器。
両方の仮想COMポートは、Realtermを使用して問題なく動作します。ただし、デスクトップアプリケーションはFTDIチップを介して接続された仮想COMポートを使用して動作しますが、マイクロコントローラーの統合USB周辺機器を介して接続された仮想COMを使用しようとするとハングします。
統合USBを使用して仮想COMポート経由で接続すると、アプリケーションはへの2回目の呼び出しで常にハングしますSerialPort.Write(...)
。HHDソフトウェアのシリアルモニターを使用すると、への最初の呼び出しでデータが送信されていることがわかりますSerialPort.Write(...)
。ただし、そのデータがターゲットデバイスで受信されることはありません。
以前のプロジェクトで同様の問題が発生したのは、バスの両側のフロー制御設定が一致しなかったときだけだったので、奇妙です。
追加情報...
これは、統合されたUSB周辺機器を介してターゲットデバイスに接続されたPCアプリケーションを実行しているときに、さまざまなポート監視ツールからキャプチャされたデータです。任意の洞察をいただければ幸いです。
興味のある方のために、FreescaleのMCF51JM128でCodeWarrior10.2を使用しています。
任意のアイデアや提案をいただければ幸いです。ありがとう。