
ちょっとpic開発にエンジンかかってまいりました。
hrdakinoriさんのpicへのlwbtの移植があるにもかかわらず、無謀にも独自に車輪の再発明をすべくがんばってきましたが、ようやく今日lwbt独自移植版でbluetooth通信に成功!うれしー。
さらにpbufのmalloc使用による毎回のメモリ確保をやめて、poolbuf使用にしたので効率アップ、というか、heap無しでよくなったのでメモリ効率が良くなるわけですが、実はほとんど意味が無い。。。
さらに、ターゲットマイコンもPIC24FJ64GB002からPIC32MX250F128Bへ変更。
PIC32MXは初めてだったので、かなり最初は苦労したけど、なんとか移行に成功したみたい。
さて、オレのページにも何人かの方がbluetoothの開発情報を求めていらっしゃるようですが、オレのようなアマチュアの方は、ターゲットをPIC24FからPIC32MX250F128Bへ変更されることを強く推奨しておきます。
そのメリットはずばり開発効率です。
--------------------------------------------------
HCI:R1 : 0E 05 01 55 0C 00 00
hci_event_input: Command Complete
Num_HCI_Command_Packets: 0x1
OCF == 0x55 OGF == 0x3
HCI_EVENT_CMD_COMPLETE
successful HCI_RESET.
phybusif_output
HCI:CMD: 56 0C 01 00
HCI:R1 : 0E 04 01 56 0C 00
hci_event_input: Command Complete
Num_HCI_Command_Packets: 0x1
OCF == 0x56 OGF == 0x3
HCI_EVENT_CMD_COMPLETE
successful HCI_RESET.
phybusif_output
HCI:CMD: 05 10 00
HCI:R1 : 0E 0B 01 05 10 00 36 01 40 0A 00 08 00
----------------------------------------------------
上記はbluetoothドングルとの最初のやり取りの一部です。
lwbtには、かなり親切で豊富なデバッグ出力が付いているのですが、PIC24FJ64GB002ではほとんど使えないのです。PIC24FJ64GB002のフラッシュは64kしかなく、USBスタックとbluetoothスタックを入れるとほぼ満杯で、デバッグオプションをオンに出来ないのです。
その点、PIC32MX250F128Bだと、128Kものフラッシュがあるので、デバッグをオンにしてコンパイルしても、余裕で収まります。つまり、usb+bluetoothにさらに何らかのアプリを乗せても十分すぎる余裕があります。もちろん32kものramも付いてます。
値段ですが、通販ベースだと、
共立エレショップでPIC24FJ64GB002は680円+送料120円 合計800円
かなり送料は勉強してるんですが、いかんせんチップの値段は高いですよね。
一方、chiponestopだと今日現在
PIC32MX250F128B-I/SP がチューブで 429円+送料450円 合計879円
1個だけ買うのになんか凄く送料高い気がするんですが、チューブでも一個から買えてしかも秋月価格に近いので、実はPIC24F買うのと100円も違いません。2個以上買うなら、PIC32MXの方が安くなりそうです。
chiponestopは、ものによっては結構高いし、安いチューブ品だと1個では売ってくれなかったりと、なかなか使いづらいのですけど、ことこのPIC32MX250F128Bに関しては、おすすめです。
---------------------------------------------------------------
一応わかっているPIC32のデメリット
MPLABXのシミュレータが使えない
今朝思いっきりはまったのですが、PIC32でシミュレータ使おうとしたんですけど、ローカル変数のwatchが出来ないようです。maicrochipのフォーラムも見てみましたが、どちらかというと初心者の人が使えないよー、と言ってるのに、上級者の人が、使えないけど、なんか文句あるの??
って感じでした。出たばかりのver1.4に変更してみましたが、ダメそうですね。
内蔵FRCがUSBには使えない
PIC24FJ64GB002は、FRC使ってUSB接続できるのですが、PIC32MX250F128BはFRCからUSBPLLへの内部配線が無いのですねー。と言うわけで、今のところ外部にクリスタルが必要です。手持ちに何かあればいいのですが、お持ちで無い方は、クリスタルが無いと、PIC単体ではUSBには接続出来ないのでご注意を。
これは秋月の220円PICでもそうなので、クリスタル不要にしようと作戦も考えてあったのですが、今のところ成功していません。
そのため、使えるPINがかなり減る。
クリスタルの分2ピン減るのと、ポートリマップの仕組みが変わって、かなり制限がきつくなっています。まあ、全ピン使うような大掛かりなのって、あんまり思いつかないし、ピンが足りなくなったら、継ぎ足せばいいような気が。
---------------------------------------------------
秋月の220円という価格に釣られて始めたPIC32でしたが、やはりアマチュアはコストも大事だけど、簡単便利、も大事ですね。プロで個数出るなら、価格差も効いてくるでしょうが、数個しか使わないなら、多少高くても開発しやすい方がいいんだ。と思うわけですが、やはり、220円のPICにbluetooth乗せたいよねー(^^)
Posted at 2012/09/26 17:12:15 | |
トラックバック(0) |
電子工作 | 日記