JAJA452A january 2011 – may 2023
このドキュメントの残りの部分では、以下の用語を使用します。
ホスト・アプリケーションの開発者は、USB デバイスへのアクセスを開始するとき、通常、関連付けられているデバイスの VID/PID ペアを知っています。両者は通常、同じ当事者によって設計されているからです。したがって、このプロセスは、HID_GetSerNums() の呼び出しから始まります。この関数は、VID/PID をパラメータとして受け取り、シリアル番号のリストを返します。各シリアル番号は、その VID/PID に関連付けられているバス上の物理 USB デバイスを表します。アプリケーションは、これらの物理デバイスのうち 1 つだけと対話することを選択することも、複数のデバイスと対話する機能を与えることもできます。
また、アプリケーション開発者は、通常、これらの物理デバイスがそれぞれいくつのインターフェイスを持っているかも知っています。何らかの理由でこれがわからない場合は、関数 HID_GetNumOfInterfaces() を呼び出すことができます。デバイスを開くために HID_Open() を呼び出すときは、物理デバイス上の HID インターフェイスの総数を知る必要があります。
VID、PID、およびシリアル番号を使用して HID デバイス・リストをフィルタリングすると、残るのは、これらのパラメータで記述された物理 USB デバイス内のすべての HID インターフェイスを表すリストだけです。このリストは通常 1 つまたは 2 つですが、MSP430 では最大 8 つになる場合があります。このリストの順序は、物理デバイスの USB ディスクリプタに HID インターフェイスがリストされている順序と同じです。このようにして、API スタックを使用するホスト・アプリケーションと MSP430 アプリケーションは互いに「見つける」ことができ、完全なデータ・リンクを形成できます。
USB デバイス内の目的の HID インターフェイスの VID/PID、シリアル番号、およびインデックスを用意すると、アプリケーションは HID_Open() を呼び出して、物理 USB デバイス上の HID インターフェイスへの接続を開くことができます。
アプリケーションがデバイスの使用を終了するとき (プログラムを終了するときなど)、アプリケーションは HID_CLOSE() で、開いている HID デバイスを閉じる必要があります。