PDG2が生成するI2C通信の送信関数"R_PG_I2C_MasterSend_CX"について、第二パラメータのスレーブアドレスに0x55を設定してもSDAのラインでは0x54で通信してしまうようです。EEPROMへの通信は最後尾ビットがLowで間違いないかと思うのですが、他I2Cデバイスに対応できるようにする方法はないでしょうか?PDG2が生成するI2C通信関数はEEPROM用途でしか考慮されていないのでしょうか?
PDG2のマニュアルには以下のように書かれています。
「 スレーブアドレスは、7ビットアドレスの場合は指定した値の7~1ビットが出力されます。」
スレーブアドレスが0x55なら、0xAAを指定するという事です。
I2Cのスレーブアドレス指定ではLSBはアドレスフェーズのRnWビット用に空けてある事が多いのでこういう仕様なのだと思います。
Samuraiさん、こんにちは。NoMaYと申します。以前に私が関わったスレッドでボッシュさんのBMP180気圧センサのデータシートを見たことがあるのですが、以下のようになっていました。もし差支えが無いようでしたら、ご使用予定のデバイスの名前やデータシートのURLなど教えて頂くことは出来ませんか?BMP180データシートPDF - Bosch画面コピー
Samuraiさん、こんにちは。NoMaYです。すみません。必ずしもSamuraiさんが御使用予定のデバイスでなくても、具体的なデバイスを自力で探せばよかったことに気付きました。ググってみたところ、NXPさんの加速度センサMMA8491Qが見付かりました。これが、このスレッドに役立ちそうだと思いましたので、引用してみました。MMA8491QデータシートPDF - NXP画面コピー