EEPROMライブラリを使って、サンプルプログラムを書いて見ました。
電源を入れ直す/リセットするごとにEEPROMに+1してLED0に下1ビットを出力します。
また、USBシリアルに+'0'したキャラクタを1秒ごとに出しています。
teratermなどで確認出来ます。
#include <rxduino.h>#include <eeprom.h>EEPROM EEPROM;unsigned char ee;void setup(){ Serial.begin(38400); // USB仮想COMポートを開く ee = myeep.read(0); ee ++; EEPROM.write(0,ee); pinMode(PIN_LED0,OUTPUT); ee = EEPROM.read(0); ee = ee & 1; digitalWrite(PIN_LED1, ee);}void loop(){ Serial.write('0'+EEPROM.read(0)); delay(1000);}
注意点
マイコンのマニュアルには書き込み回数10万回と書いてありますが、がじぇるねでは場合によっては5万回になります。
理由
実は2バイトごとに書いてます。たとえば、0番地に書き込む場合、1番地目の値を読み込んでから、書き込みたい0番地の値と組み合わせてから2バイト書き込みをしています。
よって、1バイトごとに連続して書き込むと余計な書き込みが1回発生して、最大書き込み回数が半分の5万回になってしまいます。
2013/04/23追記
GR-SAKURAでEEPROMライブラリを使う場合は、添付の図を参考にしてライブラリをインポートして下さい。
EEPROM.readという書き方も出来ます。
When you use an EEPROM library by GR-SAKURA, please refer to an attached figure and import a library. The way of writing called EEPROM.read can also be done.
2013/04/24 変更 myeepからEEPROMにした。arudinoからの移植例が動きやすい様に。