Darkside(リンクエラー修正しました)

名前

URL

タイトル

コメント

2018年7月10日(火) 23:03

I2C迷宮

 取り敢えず、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)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4