2012/05/15

[lpc2388]USBメモリが読めた(ただしFAT16)

ようやく、LPC2388をUSB Hostとして動かし、USBメモリのファイルを読むことができた。
といっても・・・全然自分でがんばったところはない。
動くことが確認できているファイルを、自分の環境に突っ込んだだけだ。

 

動かずにいたのは、割込を許可していないためだった。
LPC2388のVICは許可していたのだが、ARMの割込は一番最後に許可していて、その許可前にUSBメモリにアクセスしていたのだ。
まあ、動いたからいいや。

 

実は使用するピンを変更したのだ。
LPC2388基板は、USB Hostとしてポート1という場所を使っている。
ピンの名前に「USB_xxx_1」のようになっているのがそれ。
FeliCa Plugの制御に使っているピンが、USBとしては使っていなかったけど重なっててね。
USBもFeliCa Plugも動かなくなっていたので「きっとこのピンが悪さをしているに違いない!」と夜中に半田付けし直したのだ。

結果的に、全然関係なかった。
単に「ブレッドボードへの差しが甘い」というだけのことだったみたいだ。
ブレッドボード用のジャンパピンを買った方がいいのかもしれん。

 

FAT16限定なのは、サンプルがそうだったから。
FAT32に対応するといいんだろうけど、しゃあらしいっちゃんね。


やったのは、テキストファイルに16byteの文字を書いて、Read w/o Encしたらその中身を返すというだけのもの。
これができるのだから、ファイルのサイズを大きくして、複数ブロックにしてもできそうだ。

FeliCa Plugは、1回に12ブロックまでしかアクセスできない。
ST-1020は、2bit画像のような比較的大きなデータをするのに複数回アクセスするようになっているが、それはこの12ブロック制限があるためだ。
無線で巨大なデータを一度に送るってのはいろいろと難しそうだが、うまいことやればファイル転送くらいはできそうだ(我慢がいるけど)。

 

私が今回やりたかったのはそうではなく、単にURLが入ったテキストファイルをUSBメモリの中に入れておいて、FeliCa PlugをUかSpで読めるようにしてみよう、というだけのものだ。
まだNDEFには手を出していなかったが、そろそろそんな季節になったということか。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。