Top | カテゴリTop | 戻る
2018年7月10日(火) 23:03
取り敢えず、I2Cで液晶表示できるようにするのが先決だ。 しかしまた例によって、XC16がバージョンアップで機能ダウンしている。1.21では I2C.H が存在しI2C制御用の関数がサポートされていたのに、1.34にはそれらが無い。ふざけんな。
どうやら、周辺機器を扱うライブラリは分離されたらしい。 Legacy PIC24 MCU & dsPIC DSC Peripheral Library というのをマイクロチップからダウンロードし、C:\Program Files (x86)\Microchip\xc16\v1.34\ を指定してインストールすると1.21同様のヘッダー類がセットされた。
念のため、xc16-gcc の追加オプションに -no-legacy-libc を追加してある。 例によってエディター上では、i2c.h などというヘッダーファイルは見つからないと警告が出る。しかし、コンパイルではエラーは出ない。
マイクロチップ社は、MCCに統合予定であるため、XC16から周辺機器サポートを追い出したらしい。そして、過渡的にPLIBとして別途公開。 dsPIC33F は、それなのにMCCのサポートが追い付いていないため、中途半端な使い難い状態になっている。
コンパイルは通るが、リンクできない。I2C 関連の関数がライブラリに見つからない。PLIBを解凍すると、ソースファイルも入っていた。そこで、ヘッダーとソースファイルをプロジェクトに取りこんで、ライブラリなど無関係ってことにした。 ソースファイルを見ると、具体的なレジスターの使い方が分かるので非常に有用。もう、これでいいや。どうせPLIBは、いずれサポート外になるのだから。
こうして試験プログラムは出来たが、やはりと言うかLCDには何も表示されない。 オシロで確認すると、I2C関係の信号は真っ平ら。ずっとLのままでクロックもデーターも発生していない。
written by higashino [ドリル戦車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4