RTCサンプル

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

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

AVRと秋月のRTCモジュールで、このI2Cという方式でデータのやり取りをすることにより、時刻の設定、読み出し等が可能になると。

回路図

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

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

RTCサンプル

ソースコード

基本動作


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