#norelated
#contents
* RTCサンプル [#o86fce4c]

RTCモジュールとI2Cで通信して時計を作る。~
I2Cは前回よくわかってないって書いたけど、前よりはちょっと理解した。~

USARTは、2本の線を使って、1本が送信、1本が受信の役割をするけど、I2Cは同じ二本でも、1本がクロック、1本がデータになっていて、複数の機器を制御できるバス通信らしい。~
複数の機器は、それぞれがマスターにもスレーブにもなれて、それぞれの状態で送信受信ができるらしい。~

AVRと[[秋月のRTCモジュール:http://akizukidenshi.com/catalog/g/gI-00233/]]で、このI2Cという方式でデータのやり取りをすることにより、時刻の設定、読み出し等が可能になると。~

** 回路図 [#s17638b1]

前回書いたように、UART(USART)はRXD(PD0)とTXD(PD1)をクロスに繋いだけど、I2CはSCL(PC5)とSDA(PC4)は、それぞれ同じもの同士を繋ぐ。

SCLとSDAは、RTCモジュールのジャンパをショートすれば、内部でプルアップ抵抗が有効になるらしいけど、なんとなくそのままにしておきたかったので、自前で内部に持っているのと同じ2.2kΩの抵抗をつけてあります。~
プルアップ抵抗値の決め方とかも、理由があるんだろうけど、まだよくわかってません。~

#ref(RtcTest.png,left,nowrap,RTCサンプル)

** ソースコード [#lfaf1c0f]

//まず、メインで参照する各種ライブラリ。~
//&ref(util.h,left,nowrap,ユーティリティヘッダ);&ref(util.c,left,nowrap,ユーティリティソース);&ref(LcdLib.h,left,nowrap,LCDライブラリヘッダ);&ref(LcdLib.c,left,nowrap,LCDライブラリソース);~


*** 基本動作 [#v775d1bd]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS