R8C33C I2C通信について

お世話になっております。

R8C33Cマイコンにて、I2C通信を勉強しております。

R8C33Cマイコンとセンサーモジュール間でI2C通信を行い、データ値を読み取りたいのですが、レジスタ設定から迷走になっており困っております。

アドバイスを頂けると、大変助かります。

言語はC言語を使っており、開発環境はHEWを使用しています。

I2C通信を行うにあたって、現状私が理解しているのは、

・R8Cマイコンは、高速オンチップオシレータを使用し、20MHzのクロックで駆動。

・R8CマイコンのI2C通信のポート設定は、p3_7をSDA、p3_5をSCLを用いる。

・R8C33Cマイコン側は、マスタ側で受信のみ。

・センサーモジュールは、スレーブ側で送信をし続ける。

・モジュールのスレーブアドレスは0x39。

・モジュールからは1バイトずつ、データを受信したい。

R8C33CのハードウェアマニュアルのI2Cバスインターフェース章のレジスタ設定例を参照し、実装しているのですが、うまくできません。。

マイコン初心者のため、上記の記載だけでは、伝わりづらいのかと思うのですが、よろしくお願いいたします。

  • TSL2561。ググル先生に聞いたらadafruitの小基板が先頭に来た挙句、Arduinoのサンプルまであるんですね。GR-SAKURAあたりの方が勉強ラクなんじゃとも思いますがさておき。

    cdn-shop.adafruit.com/.../TSL2561.pdf

    ここの12-13ページあたりが通信フォーマットになりますが、これらのうちどれを実装されたんでしょう?(Figure10から17のどれ?)

    あと、ここの資料を見ると、

    strawberry-linux.com/.../tsl2561-manual.pdf

    「内部レジスタ 0xA0 に 0x03 を書き込むことでセンサが動作を開始」とか書かれてるので、センサ動かすにはおまじない等が必要と思われます。ついでにこの資料にアドレスも何やら書かれてますが、もしこれのOPENと同じ状態なら、0x39ではなくて、0x72|0x01か、0x72&0xFEな気がします。

    それと、オシロはお持ちですか?あるなら波形画像とって、それも載せてくれた方がデバグしやすいです。