以前、arduinoと秋月のrtcを繋いでみようというスケッチ
を書いてみたんですが、PICとCCS-Cの時の様には
うまく動かなくて、放置してありました。
http://brown.ap.teacup.com/nekosan0/227.html
確か、rtcの内部レジスタに時刻や日付を書き込むところ
までは上手く動いたんだけど、rtcの内部レジスタを
読み出すところでackの有無が上手く行かなくて
コケたと記憶していたんですが…
今日tokoyaさんのサイトを覗いたところ、duemilanoveに
rtc繋いで動かしたスケッチが公開されてました。
http://tokoya.justblog.jp/blog/2008/11/arduinortc-6cdd.html
これ。すんなり動いたそうです。(TへT)そうですか…
ひとまず以前自分で書いたスケッチと見比べてみます…
うん。大枠では1箇所違っているなぁ。
さきほど問題に挙げた「読み出し処理」のところ。rtcに
読み出す先頭レジスタの番号を送った後、一端
Wire.endTransmission();
で切っておいて、それから
Wire.requestFrom(~);
で読み出してるんですねぇ。私のスケッチでは
Wire.endTransmission();で切らずに読み出そうと
しているなぁ。ここか???
以前実験してたときにも色々手変え品変え試して
見たはずなんだけど、これはやってないのかな?
やったと思うんだけどな…。
早速配線して、この1行を追加して、コンパイル~
アップロード。
…やっぱり状況変わらず。
なんだろうねぇ?やっぱりわからん。
ここ以外で違うところって、基本的には無いんだけどなぁ。
強いて言えば、tokoyaさんのスケッチを眺めると
rtc内の全部のレジスタ弄っているわけじゃなくて、
2~8の7個だけみたい。
私のは0~15の16個(つまり全レジスタ)を読み書き
するような内容なんだけど、これが悪さしてるのかな?
「読み出せないレジスタがある???」
ってこと?考え難いなぁ…。
まぁ、あとでもういっぺんrtcのデータシートを
読み返してみよう…
ちなみに、tokoyaさんのスケッチを私の環境(reduino-nano)
でも実行してみたところ、すんなりと動きました。
すばらしい。
少なくとも、私の手元のrtcが壊れているってことは
無いわけですね。スケッチの内容に問題がある…と。
|