RL78/G13でI2Cを使ってみる

最近アマゾンで、Arduino向けデバイスが格安で入手できる、中華製で、品質は
それなりではあるけれども、値段が恐ろしく安い。(送料も大抵無料)
評価欄で、低評価をしてる人がいて笑ってしまうのだが、こんだけ安くて、何が不満な
のだろうか?
部品を正規ルートで買って組み立てたら10倍以上の値段になるだろうか・・
「当り」、「はずれ」は当然として、不満なら正規品を買えば良いだけの事と思うのだ
が・・
※スイッチサイエンスや、ストロベリーリナックスで、同じような「製品」は入手でき
る、その場合のコストを考えてほしいと思う。

-----
さて、シリアル入出力は、割り込みにも対応できて、機能的にはとりあえず十分なので
何か外にデバイスを接続したくなる。
RL78/G13には、SAU(シリアル・アレイ・ユニット)を簡易I2Cとして使
う機能があるが、他に、IICA(I2Cアレイ)が1チャネルあり、I2Cの仕様を
全て満足する事が出来るので、当然ながら、こちらを使う事になる。

ハードウェアーマニュアルを読んでも、イマイチ使い方がピンとこなかったが、以前に
R8Cで、I2Cをソフトウェアーだけで実現した経験があったので、それが役立った、
出来上がってみると、R8Cで実装した構成とほぼ同じようになった。
新規のデバイスを使うのは、困難が伴う、I2Cは動作が複雑なのでなおさらだ。
ハードウェアー・マニュアルの不備などに悩まされ、ルネサスさんのサンプルコードも
参考にして、ようやく動作した。
まだ、ポーリング動作なので、遅いI2Cは、割り込みにする必要があるのだけど。
※R8CのソフトウェアーI2Cもフル機能がある。

構成が複雑化してくると、バイナリーが肥大化してきた、これを解消する為、このプロ
ジェクトから、最適化オプション「-O2」を「-Os」とした。
これは、「-O2」から、バイナリサイズが大きくなる可能性のある最適化オプションを取
り除いたもので、サイズはかなり縮小する。
※おおよそ1/4になった。

使ったデバイスは、DS3231で、RTCだ、このモジュールは中華製で、危険なほど
安い!(確か220円とかだった)
このRTCは、OSCの発振周波数が非常に正確なのが特徴で、普通にチップだけ買って
も500円はするが、このモジュールは、バッテリーバックアップ、それにEEPROM
まで付いている。

IMG_0804s

DS3231サンプル・プロジェクト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください