FeliCa Plugのドキュメントを見ながらやっている。
まずはデータ受信だ。
SPICLKを出せばいいらしいので、やってみた。
あれ・・・DATAが0のままだ。
IRQは、最初のSPICLKでLOになると書いてあるので、この動きは正しい。
しかしDATAが0というのはおかしい。
一瞬、受信データがないのでは、と思ったが、IRQはデータ受信要求なので、ないことはないのだ。
ということは、データがうまく読めてないということか。。。
まさか、MOSIとMISOを接続しているから、MOSIの影響を受けているのでは。。。。
受信したいときはMOSIをハイインピーダンスにできればいいのだが、そんなことできるのか?
うーん、うーん・・・。
できるようだ。
PINSEL1を変更してMOSIだけをGPIOに戻し、PINMODE1でHiZにしてやるとよさそうだ。
いやあ、あせったあせった。
さて、Host側はSPICLKの立ち上がりで読めばいいらしい。
ロジアナ波形を目視しよう。
06 01 80 82
おお、それっぽい。
Read Without Encryptionで、ブロック数1,ブロックリストは8082。
ブロック番号0x82を読みにきているということか。
システムコードで0x12FCを返しているので、きっとFeliCa Liteだと思っているのだろう。
FeliCa Liteのブロック番号0x82はIDブロックで、IDd、DFCなどが入っている。
うん、データ的にも正しそうだ。
では、LPC2388がそういうデータと思ってくれているかUARTに掃き出させてみよう。
9F F0
・・・なんじゃこりゃ・・・・・。
UART処理を手抜きしているので、データは正しいのにUARTが失敗しているだけなのかもしれない、という可能性が捨てられない。
ああ、デバッガがほしい。。。
あ、受信バッファの初期化をしていなかった。
もう一度。
06 01 80 82
やれやれだぜ・・・。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。