2016年1月11日月曜日

DS3234SとArduino

SPI接続のRTCをArduinoで使う必要があったため,とりあえずぐぐってみたら
秋月でDS3234S(リンクは下)が見つかった.とりあえず,アキバに出撃して
買ってきたが,うまく動作せず.

「その他参考にしたページ」につけたリンクの記事も読んで試したがダメだった.

「ダメ」の症状だが,RTCから時刻を読むとデータ化けがひどくて訳の分からない時刻となる.
SPIの動作モードなど変えてみてもだめだった orz

仕方がないので,お値段5倍ほどになったが,spark funが売っている「DS3234」使用の
breakout モジュールを買ってみた.ソフトもsparkfunのモジュールで動作させたらこちらは動く.
ただし,githubのソースではSPIのモードは1でも3でも動くはずと書いてあるが,
手元の端末ではmode3でしかまともに動作しなかった.

さらに,SDカードと組み合わせると,どちらかしか使えない orz

仕方がないので,端末起動時にRTCから値を読んで,時刻は本体の時計に保存し,
以後はSPIはSDしか使わない方向で組み直して使っている.

Arduinoでは無理だが,GR-kurumiは内蔵RTCがあるので,そちらの機能で
割り込み処理なども可能.この場合,DS3234Sはバッテリバックアップのある
時刻保存装置みたいなもの.


ハード

秋月のDS3234Sのページ



spark funが売っているDS3234Sのモジュール



Arduino用ソース

spark funのソース置き場




その他参考にしたページ




0 件のコメント: