「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



arduinoにI2C(TWI)で秋月のrtcを繋いでみようという
お話の続きです。

以前実験してみて上手く動かなかった原因が判りました。
スレーブアドレスの指定がおかしかったというのが
原因でした。

I2Cのスレーブアドレスの最下位ビットはR/Wビット
といって、対象のスレーブに対して読み出しリクエスト
なのか書き込みリクエストなのかを指定するビット
なのですが、これが最下位にあるため、言語によっては
あらかじめ1ビット空けておいたり、空けずに詰めて
おいたり…といった方言みたいのがあって、今回
そこにハマッたようです。

ちなみにarduinoの場合は詰めておく派です。
(アセンブラは詰めない派です)

tokoyaさんのスケッチ
http://tokoya.justblog.jp/blog/2008/11/arduinortc-6cdd.html
を眺めていて、アドレス指定の0xa2を1ビットシフト
しているのに気付いて、間違えを発見しました。

いやぁ。思い込みはいけませんね。

で、直したらあっさり動きました…
それにしてもこれまでの苦労は…(TへT)


というわけで、話し変わってネコロジー。ロジスコではなく
ロジアナと名づけたからにはシリアルモニター機能くらいは
つけてしまいたいと思います。

そうすれば、今回みたいなアドレスの不備などは
画面上で見て判るはずなので。
(いつになるかは判りませんが…)

あとで、rtcの接続についてもarduinoのページに
纏めておきたいと思います。



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする