歩き遍路 平成19年春(J1) 記録の準備
USBホスト(6) UUSBD(TechI V30)の
         プログラムを試す

 Interface増刊 TECH I 『改訂新版 USBハード&ソフト開発のすべて』第7章に添付のUUSBDを使ったサンプルプログラム 「PIPEDUMP」を試しました。 UUSBDは、柏野氏作成の汎用USBドライバでいろいろな書籍で解説されています。

 今まで、いろいろな書籍で解説されているのはUSBと通信する内容が主なため、「通信するだけの物か」と思っていましたが、Interface増刊 TECH I 『改訂新版 USBハード&ソフト開発のすべて』第7章を読み返してみると、豊富なAPIがそろっています。GetDeviceDescriptor、GetConfigurationDescriptor、ResetDevice 等、USBを試すAPIが揃っています。添付のUUSBDを使ったサンプルプログラム 「PIPEDUMP」には、USBを試すAPIが使われています。

 ここでは、このサンプルプログラム 「PIPEDUMP」を試してみます。動作が納得できない処も有りますが、素直に記録します。

●『改訂新版 USBハード&ソフト開発のすべて』第7章のプログラム

 プログラムを動かす手順や、リストは記事を参照ください。
 次の写真は、ハードウエアと実行時のパソコンの画面です。ハードウエアは、弊HP「USBホスト(2) WinUsb(改訂新版 PICで楽しむ USB 機器自作のすすめ 著後閑)を試す」で使ったものです。








●『UUSBDでパソコンと接続


 次は、ハードウエアをUUSBDを使ってパソコンと接続した状況を、USB Viewで見た内容です。
 反転した処に、デバイス情報ファイル「uusbd.inf」の[Strings]に設定した「Universal USB Driver (PicGenUsb)」が表示されているので、UUSBDを使って認識されているのが判ります。





 UUSBDを使って認識させるには、ダウンロードしたUUSBDに含まれるデバイス情報ファイル「uusbd.inf」を次の様にベンダIDとプロダクトIDを2か所に追加するのと、「uusbd.dll」を C:\WINDOWS\system32\ にコピーするだけです。




 しかし、最初は手こずりました。UUSBDのデバイスとして認識しないのです。WinUSBびデバイスとして認識するのです。パソコンのOSは、Windows Xpです。
 原因は、以前、WinUSBのデバイスとして認識させたパソコンを使っていたからです。WinUSBを使ってないパソコンを新たに用意して、UUSBDのデバイスとして認識させると上の様に認識しました。



●サンプルプログラム 「PIPEDUMP」の動き


 サンプルプログラム 「PIPEDUMP」の動きを、プログラムの概要と、USBスコープの内容と対比させました。
 理解出来ないのは、ReadFileしているのにOUT信号が出ているところです。








ホームへ戻る