1

AT90USB162 Atmel チップを Communication Device Class (CDC) として使用して、一部の外部センサーを一部の Windows アプリケーションに通信しようとしています。

このチップの Atmel アプリケーション ノート サイトで、アプリケーション ノートAVR296: AVRUSBRF01 USB RF ドングル ユーザー ガイドを見つけました。このガイドでは、このチップを CDC として使用する方法が説明されています ( RF目的のためですが、ここでは問題ではありません)。また、このアプリケーション ノートには、チップを焼き付けるファイルと Windows ドライバとして使用するファイルを含む圧縮ファイルAVR296.zipが付属しています。.a90.inf

AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90そのため、提供されたファイルでチップを焼き付け、at90usbxxx_cdc.infWindowsにドライバーをインストールしました。そしてようやく Windows が COM ポートを正常に認識したので、CDC メカニズムを介してチップと通信しようとしています。

では、CDC として動作する Atmel のマイクロチップで使用するための標準的なコマンド リストはありますか?

私がやりたいことは、特定のピン状態を読み取るために USB で接続されたマイクロチップにアクセスする常駐アプリケーションの C++、Windows のようなものです。たとえば、次のようになります。

ComPort1->WriteStr("read?\n");
Response : String;
ComPort1->ReadStr(Response, 50);
4

1 に答える 1

0

誰も答えなかったので、他のフォーラムでも質問し、SO コミュニティの知識のためにここに回答を投稿します。

まず、答えはノーです。でも...

@glitchのおかげで avrfreaks から:

cdc コードは、AVR 式の半分にすぎません。cdc コードは cdc デバイスをエミュレートするだけなので、PC コードはシリアル ポート経由で接続されているかのようにデバイスと対話できます。ここで、cdc コードとリンクし、必要なプロトコルと必要な機能を実装する AVR で独自のコードを作成する必要があります。cdc コードはこれを行いません。【PC側も書く必要があります。または、実装するプロトコルが ascii ベースの場合は、標準の端末アプリを使用できます]

@dakk64 に感謝します。

これは、プロトスレッドとして実装されたメニュー駆動型インターフェイスの例ですが、メイン ループに配置することもできます。

874 個の LOC があるため、このコード全体をここに掲載することはしませんが、そこに行って見ることができます。

したがって、それほど単純ではありません。デフォルトのリスト (たとえば、古い AT モデム コードなど) はありませんが、これを知ることから始めましょう。

于 2011-11-22T00:23:02.620 に答える