2005年02月08日

USBデバイス

usbdevice.jpg

以前作成した基板(といってもかなり前のことなので誰も覚えていないと思いますが(^^;)がやっとUSBデバイスとして通信できました。
基板の裏の刻印を見ますと2004年9月となっているので、実に5ヶ月も格闘していたことになります。何にそんなに躓いていたのかというと、USBのチップが死んでいたり、サンプルプログラムに埋め込まれていたベンダIDとプロダクトIDが違っていたり、わかってしまえば何てことない原因なのですがこういうものはそれに気づくまでが大変なわけで。おかげで回路やプログラムをよく観察するのに役立ちました。これでやっとUSBデバイスを作るスタート地点に立ったという感じです。

USBデバイスとテスト用のホストプログラムについては後閑哲也さんUSB通信 テクニックを、Windowsのドライバは柏野政弘さん汎用USBドライバを利用させていただきました。
capture.jpg またUSB通信のデバッグにはSnoopyProなるUSBキャプチャーソフトが利用できました。ちょっと前まではUSBのキャプチャーソフトなんて、専用のハードウエアを使う高価な機械だったのに、いまはオープンソースで配布されているんですね。USBの技術情報といい趣味の製作をするものにとっては恵まれた環境になったものです。

さて、早速USBデバイスを操作するプログラムを作ろうと思ったのですが、どうも上記の汎用USBデバイスドライバのdllを利用するにはマイクロソフトのVisualStudio が必要なようです。自分がもっているWindows用のコンパイラはBorland C++ Builder(のかなり古いやつ)なんですが、BorlandのコンパイラでVCで作ったdllを利用できなくはないんだけど煩雑な手順が必要らしく、いろいろやってみたのですがうまくいきません。

他に使えるコンパイラがないかどうか調べていたらVisualStudio 2005の日本語ベータ版がダウンロードできるらしいので、WebからダウンロードできるExpress Edition(ホビーユーザ、学生向け)の方を試してみたのですが、どうやらuusbd.hが要求するwindows.hを含んでいないらしくビルドができません。Windowsアプリケーションを作るためのMFCなどは省かれているようであくまでも学生の演習用ということなのかな?
Visual Studio 2005完全解説という紹介本にもExpressではないベータ版が入っているらしいのでこれを入手するのもテかも。

そんなこんなで、Visual Studio買っちゃおうかなーという気になってきてますが、ライセンスがいろいろあってまだイマイチよくわかっていないのと、もうすぐバージョンアップするみたいだしどうしたものかなぁとちょっと悩んでいます。


2006.2.27追記
本ページの情報は古くなっています。
「Express Edition」「windows.h」で検索して来てくださる方がたくさんいらっしゃるので補足説明。

trackbacks

trackbackURL:

[プログラム]ふざけてんのか? from peaceman1984の日記

VS.NET2005betaの話。早速使ってみようと思いコンパイルしてみたら「windows.hが見つかりません。」念のため調べてみたらどうやら本当に「Win...

comments

Win32 API を使ったプログラムがコンパイルできない件について調べたら幾つか情報がありました。

PlatformSDKなるものをインストールしてパスを通せばいいらしいです。

2ch:【無料】Visual Studio 2005 Express【Beta】
http://pc5.2ch.net/test/read.cgi/tech/1091543344/199-200

VisualStudio2005ExpressBetaでWin32アプリをビルドする方法
http://gamdev.org/w/?%5B%5BVisualStudio2005ExpressBeta%A4%C7Win32%A5%A2%A5%D7%A5%EA%A4%F2%A5%D3%A5%EB%A5%C9%A4%B9%A4%EB%CA%FD%CB%A1%5D%5D

Visual C++ 2005 Express Edition Beta1 について
http://www7.plala.or.jp/hop-step-jump/c_setting09.html

しかしベータ版を利用して作成したプログラムは配布してはいけないらしいので、公開するためには製品版を買う必要があります。
とりあえず製品版が出るまではこれでしのげるかな?

  • iwata
  • 2005年02月08日 18:09

SnoopyProで検索して来てくださる方がいるようなので使い方など。
http://aniki.daionet.gr.jp/~iwata/cgi-bin/note/index.php?PIC%2FUSBTEST#o988923e

っていっても Readme に書いてある以上のことは書いてありませんが。

ところで、たまに解析内容が間違っている気がするんですが(上のキャプチャ画面の3番目ホスト→デバイスの通信が???になってたりとか。)どうしてなんでしょうね。

  • iwata
  • 2005年02月23日 01:41

SnoopyProのページに書いてあるUSBCVについてですが、Win2K(日本語)では駄目で、WinXP(日本語)で動作しました。

  • B
  • 2005年06月29日 11:35

情報ありがとうございます。
ばっちり W2K でした(汗

  • iwata
  • 2005年07月03日 23:38

「Express Edition」「windows.h」で検索して来てくださる方がたくさんいらっしゃるようなので、現在の状況について追記。

  • iwata
  • 2006年02月28日 00:11
comment form
comment form