2010年9月30日木曜日

アルデュイーノユーエスビーホストシールド実験(PS3) from niwach on Vimeo.


ただ単に設計元のサーキットアトホームのサンプルをためすだけなのに「かなり」手間取りました。日本で手に入るのは本家サーキットアトホームのホストシールドじゃなくて、本家を利用してスパークファンが作った方なんですね。で、同じものかと思ったらいろいろと問題があって、プログラムを書き換えたりしないといけないんですね。
しかもそのことを日本語で説明しているページが全然見つからないんですね。みんな困すんなり理解できたのかなー?信じられないよー。
英語では、断ってありますがこれに気付くのに相当かかったよ。
スパークファン
http://www.sparkfun.com/commerce/product_info.php?products_id=9628
サーキットアトホーム
http://www.circuitsathome.com/mcu/towards-an-ft232-driver-for-the-usb-host-shield-part-0#more-3581

英語は苦手ですが本家の注釈をみるにスパークファンのつくりに不満たらたらな口ぶりのように思えます。それとも自分の感情を投影してしまってるんでしょうか。

自分で忘れそうなので使うために必要な作業をメモします。

スパークファンの本家と違うところ

1 動かすのに必要な本家のヘッダファイルが使えない。
対処法は、Max3421e_constants.hというヘッダファイルを開いて以下を書き換えます。
#define MAX_SS 10
#define MAX_INT 9
#define MAX_GPX 8
#define MAX_RESET 7
となっているのを
#define MAX_SS 10
#define MAX_INT 9
#define MAX_GPX 7
#define MAX_RESET 8
とします。8と7をひっくり返すんですね。本家ではMAX_GPXがコメントアウトされて書いてあるんですがなんででしょう?じぶんはそれだとうまく行かなかったです。スパークファンはただひっくり返せと。

2 USBバスから電源がとれない。 
VusbではなくてVinとかいてあります。これはUSBケーブルからの電源では動かないよってことです。Vinというのは、GNDのよこのピンに書いてあるVinからの電源供給のこと、もそうなんですがどちらかと言うとDC電源(アダプターでコンセントとつないだり電池をつないだりする方)からの供給じゃないと動かないよっていうことです。

1、2をまもれば本家サーキットアトホームのサンプルプログラムもちゃんと動きます。

あと自分はインクルードも初めてで、このあり方にも手こずったので忘れないようにメモっておきます。
自分が失敗したのは、デフォルトで入ってないのはadd fileでやるかと思ってたんだけど違ってました。正しいやり方は、いままでつくったスケッチがつらつら入っているフォルダがあると思うんだけど、そこに新しく「libraries」というファイルを作ります。その中にさらにインクルードするものの名前(「ホニャララ」とか)のファイルを作ってそこにネットからダウンロードしてきたヘッダファイル「ホニャララ.h」とかをいれます。Cは知らないのでよくわからないけどシープラプラファイル「ホニャララ.cpp」というのが一緒になってるときがありますがそれも一緒に入れちゃっていいです。昔はダメだったみたいだけど。それでアルデュイーノを再起動します。するとちゃんとインクルードに列挙されています。

なんか難しいことのように書きましたが、たぶんたいしたことではないんだと思います。
やっぱり絶対に知識と経験が足りないんですね。だからちょっとしたことですごくつまづいてしまって、もっと勉強が必要ですね。

0 件のコメント:

コメントを投稿