まずはじめに、FreeRTOSで簡単なサンプルプログラムを作ってみることにした。
dsPICの23番ピン(RB12)にLEDをつけてある。これを点滅させるのだ。
発信器は内臓のものを使う。
電子工作室のページに移植手順が書いてあるので、ディレクトリを適当に決めて、ほぼここに書かれているとおりに作業を行った。プロジェクト名はinterface001にした。FreeRTOSのソースファイルは数が少ないのには少し驚いた。
メインのプログラムを書いていて、デバイスのConfigurationのところでつまづいた。
dsPIC33Fのリファレンスマニュアルを見る必要がありそうだ。
MICROCHIPのサイトにdsPIC33Fファミリ リファレンス マニュアルがあるが、英語版のみで日本語版はない。
浅草ギ研のページによると、dsPIC33Fリファレンスマニュアルの日本語版はまだなく、dsPIC30がそのまま使えるらしいことがわかった。ついでに、そのままそこにあったリファレンスマニュアルをGETさせてもらった。
リファレンスの必要そうな部分だけに目を通して、ソースを完成させた。
ビルドを何度か繰り返してエラーを取り除いて、最終的にHEXファイルをEXPORTしてバイナリーをつくった。
次に、PicKit2を接続して、書き込みだ。
PicKit2をPCのUSBポートにつないで、ターゲットボード上に用意したピンヘッダーに接続、ボードの電源を入れる。そして、PicKit2のソフトを起動する。すると、起動時にエラーメッセージが出る。VDDの電圧が異常?しばらくよくわからないまま、作業を続けていた。
dsPIC33Fは、自動的にデバイスを認識してくれないのかな?マニュアルでデバイスを指定。
PicKit2のマニュアルをみて、PicKit2が検出しているVDD電圧が2.3~2.4Vで、デバイスの書き込みに必要な2.7~3.0に達していないということがわかってきた。
それで、PicKit2本体のVDD電圧をキャリブレーション調整する。0.5Vほどずれているようだった。
これで直ったかと思ったが、その後もVDDの電圧でメッセージが出てくる。???原因がよくわからない。
デバイスへの書き込みを行っても電圧が不足しているからエラーが出てくる。
ボードの電圧を測定すると3.3Vでている。おかしいなぁ、、、と回路図をもう一度確認していたら、間違いを発見!
PicKit2を接続するピンの順番が間違っていた。3番目のVSS(GND)と、5番目のPGCがテレコになっていた。設計時にどこかのサイトに出ていた回路図を参考にしたときにミスったようだった。
原因がわかったところで、早速、配線の間違いを直し、PicKit2をつないでみた。OK!エラーは出なくなった。
0 件のコメント:
コメントを投稿