Doc.20 RTCの使用例

ポケモンシリーズなどに存在する時計機能。この仕組みはどうなっているのだろうかとふと疑問に思ったことはないでしょうか。基板にはRTCと呼ばれるチップが別途乗っていて、さらにボタン電池も内蔵しています。GBA本体の電源を落としたり、カードリッジを素の状態でおいたままでもボタン電池に残量がある限り動き続けるという仕組みです。ここではもう少し踏む混んで時計を読み込んで表示したり、書き込んだりする方法を解説します。

資料を集める

まずはGBATEK、チップのデータシートそれぞれ覗いてみることです。

GPIOは80000C4hからの6バイト、本来は0x00で埋まっているということがわかります。また、ボクらの太陽の場合は0E0hで埋まっているとのこと。GPIOピンはカードリッジ上の1,2,21,22を使われている。配線はConnection ExamplesのRTC部分。SCK, SIO, CSが重要であるということがわかります。ちょっと飛躍しているかもしれませんがraspberry piやArduinoでLEDチカチカしていることと全く同じものだと思ってかまいません。3本の線を使用しているため、Lチカが3つあると考えてください。SCK, SIO, CSがHIGH(ON), LOW(OFF)することで時計の内容を読んだり書いたりしています。


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