Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC18F4550 Lチカ

表題にはPIC18F4550としたが、実際はPIC18LF4550-I/PTでLチカした。

PIC18LF4550-I/PTのLFは駆動可能電圧が低くできるようだ。
クロック数を落とせば、2Vでも駆動するらしい。
pic18lf4550-i_pt-01
I/PTというのは動作温度とパッケージの違い。
pic18lf4550-i_pt-02
-40℃~85℃の範囲で使えて、TQFPパッケージのものということだ。
秋月の変換基板にハンダ付けして、
pic18lf4550-i_pt-03
pic18lf4550-i_pt-04
ピン・ソケットをつけた状態のもので遊ぶ。
pic18lf4550-i_pt-05

ただのLチカだが、私の場合はそうすんなりとLチカにたどり着いたりはしない(笑)。

書き込むにはPICkit3とつなぐわけだが、何の迷いも無く赤で囲った方に接続してみたら、全然認識しない。
pic18lf4550-i_pt-06
肩に(2)ってあるってことは何か注意事項があるわけだ、ということに、そうなってからやっと気づいた。
See Section 25.9 “Special ICPORT Features (44-Pin TQFP Package Only)” for more information.
とあるので見ると、
25.9.1 DEDICATED ICD/ICSP PORT
というセクションへ飛んで、要するに、44ピンのパッケージはピンが余るので、ICSP専用のピンがありますよということらしい。
ただし、
The dedicated ICSP/ICD port is enabled by setting the ICPRT Configuration bit.
なので、私の場合はそんなの知らないから、設定してないから、つないでも認識されなかったわけ。
Configuration Bitsは
#pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming Port (ICPORT) Enable bit (ICPORT disabled)
として書き込んでいるので、素直に水色で囲った方につなぎ変えてやっと書き込むことが出来た。

例によって、Configuration Bitsの記述の方が圧倒的に分量が多いという。
ま、おまじないだし、以後ほとんどコピペで済ますから、分量なんてどうでもいいわけだが。

RA0につないだLEDが約1秒間隔で点滅するという、まぎれもないLチカ完成だ。
なお、大好きな__delay_ms();だが、引数を100とかにするとコンパイル時にエラーが出たので、とりあえず、少ない数にしてfor文のループで回すという高等テクニックを使っている。
pic18lf4550-i_pt-07
何か、以前にも同じ様なことがあったなあという気はするが思い出せない。
調べといた。
PIC18のdelayで「in-line delay argument too large」って叱られる件
pic18lf4550-i_pt-08

このエントリーをはてなブックマークに追加

Posted under: PIC18F4550


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.