I2Cアドレス範囲に制限はあるでしょうか?



  • お世話になります。
    RTC-8564NB(Addr:0xA2)を接続するとエラーが出ます。
    試した範囲では何も接続せずI2Cアドレスを0x80以上にするとエラーになるようです。記述方法等、注意点があればご教示下さい。宜しくお願い致します。


  • administrators

    @fuminori さん

    i2cのデバイスアドレス自体は7bit分しか無いので0x80以上ではエラーとしております。

    秋月さんのサイトより、RTC-8564NBのデータシートを確認しました

    0_1551946001363_スクリーンショット 2019-03-07 17.05.20.png

    アドレスは0b1010001* = 0xA2 or 0xA3となっておりまして、このとき、obnizのi2cには下一桁を除いた0b1010001 = 0x51を指定します。

    Read/Write判別用の最後の1bitはwrite()readWait()を読んだときに自動で付与されますので、Read/Writeに関係なく、デバイスアドレスとして7bitのみを指定いただければと思います。



  • ご教示ありがとうございます。
    LSBまで含めて指定(0xA2:8bit)するのか、LSBを除いて指定(0x51:7bit)するのかの記述方法の違いということで了解致しました。
    実は現在PICから制御しており(アドレス部は RTC_Addr>>1,(RTC_Addr+1)>>1 と記述)、同じI2Cラインをobnizからも制御(時分割)したいなと思いまして。思慮不足でお手数をお掛け致しました。開発頑張ってください。


 

Recent Projects

  • @nak435 かしこまりました。よろしくお願いします。

    read more
  • @Yuki-Sato さん、

    外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    今週末に確認しますので、お待ちください。

    read more
  • @nak435 時間がかかってすいません、

    なんとか3.3vをgndにつないでFlick Largeを動かしたかったのですが、うまく動かすことができなかったです。
    3.3vをgndを繋がずに接続するというのはライブラリで推奨して伝えることは難しいと思ってます。

    Flick LargeでなくFlick Hatの方で、外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    よろしくお願い致します。

    read more
  • @nak435 ありがとうございます。
    接続は3.3vのgnd以外同じでした。
    エラーはそのせいかもしれませんが、しかし電気的にはgndを繋がない場合3.3vとしてうまく供給できないはずなのでそこが不思議です。

    教えていただいたプログラムの部分を修正して試してみたいと思います。
    また少し時間がかかりそうなのですが、早めに試したいと思います。

    引き続きよろしくお願い致します。

    read more