PICで気圧計 by 24FJ64GA002 (AE-SCP1000-D01 & ノキア5110LCD) その2
今度は、SCP1000-D01 気圧センサーと、RS232C、ノキア5110LCDを組み合わせてみたいのですが、さて、ハードウエアはどうすべきか? とりあえずは、PORTAとPORTBで分けて組んでみる事にします。 なおUARTは、PICからパソコンへのデータ出力(TX)機能のみをRP4(PB4)に割り付ける事にして、パソコンからPICへのデータの読み込み(RX)は割り付けをしない事にします。 PIC24FJ64GA002の「ピン割り付け機能」を使って、PB0〜PB15の16ピンに殆どの機能を自由に設定だけで割り付けることが出来ます。 さらに、UARTの様な送受信のペアで構成されている機能でも、全てを割り付ける必要もなく、今回の様にPICからの送信(TX)だけで受信の機能が不要の場合には単独で割り付ける事もでき、少ないI/Oピンを有効に使用する事が出来ます。
ソフトウエアの移植はうまくいきました。 ソースプログラムの90%以上は、修正する事無く動きました。 いろいろ賛否両論があるものとは思いますが、とりあえず稼働いたしましたので下記リンクに、サンプルプロジェクトファイルをリンクしておきます。 2464002prrh22.zip なお、このソースプログラムは、 Windows XP Pro v2002 SP3上で、 現時点において最新で無償の、 MPLAB-IDE v8.56、 MPLAB C30 C Compiler [pic30-gcc.exe] v3.24 にてコンパイルしています。 今回のプロジェクトファイルでは、PIC24F用のUART用ライブラリーを使用しています。uart.h をインクルードして使う事に成りますが、MPLAB C30 のご利用のバージョンに合ったライブラリーを正しくリンクさせる為に、その都度MicroChipのディレクトリー内のファイルをリンクさせてください。配布用のサンプルプロジェクト内にはそのライブラリーの実体が含まれません。 また、単純にインクルード宣言をするだけでは正しくライブラリーを参照する事が出来ません。 まず、PIC24FJ64GA002用の uart.h をリンクさせるには、 C:¥Program Files¥Microhip¥MPLAB C30¥lib¥PIC24F¥libpPIC24Fxxx-coff.a を、プロジェクトファイルのLibrary Files に登録してください。 また、プロジェクトファイルのLinker Scriptに、 C:¥Program Files¥Microhip¥MPLAB C30¥support¥PIC24F¥gld¥p24FJ64GA002.gld を登録してください。 この2つが正しく登録されていて始めて、 #include <uart.h> が正しくコンパルが通る様になります。 なお、PIC24F用のHI-TECH C は、現在は残念ながら対応していません。今回のプロジェクトは MPLAB C30 用なのでお間違え無い様にして下さい。 プログラミングは、秋月電子通商のPICkit2互換機を使っています。MPLAB C30 コンパイラーから直接秋月PICkit2互換機を通じてICSP接続で書込みをしています。 気圧センサー部分を含むプログラムの大部分を、パレットソフトさんの HI-Tech C 用ソースプログラムを利用し、私が変更に、変更を加えて使用しています。 プログラムの構成方法を、パレットソフトさんのプログミング形式を利用し、ソースリストのデバッグや、再利用がしやすい様にしています。 ノキア5110表示用のライブラリー部分は、 CQ出版の「トランジスタ技術2006年3月号」に掲載された、 R8C/15付録マイコン基板活用企画 第9回 小型グラフィック液晶表示器で作る簡易温度計 山本 秀樹氏 のR8C/15用ソフトウエアをHI-TECH C Compiler用に移植したものを、さらに MPLAB C30 C Compiler用に再利用しています。 (Oct. the 2nd 2010)