最終更新日 平成26年5月15日
内蔵データフラッシュをArduinoのEEPROMライブラリのように使うサンプルです。
メモリを頻繁に書き換えてしまうので、データフラッシュの書き換え可能回数が減ってしまいますので、ご注意ください。
// RXduino sample programs.
// (C)2012-2014 Copyright TokushuDenshiKairo Inc.
#include <rxduino.h>
#include <stdio.h>
#include <stdlib.h>
#include <eeprom.h>
void setup()
{
pinMode(PIN_LED0, OUTPUT);
pinMode(PIN_LED1, OUTPUT);
pinMode(PIN_LED2, OUTPUT);
pinMode(PIN_LED3, OUTPUT);
pinMode(PIN_SW , INPUT);
digitalWrite(PIN_LED1, 1);
Serial.begin(38400,SCI_AUTO);
Serial.setDefault();
setvbuf(stdout,NULL,_IONBF,0);
digitalWrite(PIN_LED3, 1);
Serial.print("Hello rxduino\n");
}
void loop()
{
static int x = 0;
static int y = 1;
printf("\x1b[1;1H");
printf("%04x\n",x);
EEPROM.write(x,x+y);
EEPROM.write(1023-x,x+y);
for(int i=0;i<1024;i++)
{
if((i & 31) == 0) printf("%04x ",i);
printf("%02x ",EEPROM.read(i));
if((i & 31) == 31) printf("\n");
}
x++;
if(x >= 512)
{
x = 0;
y++;
}
if(Serial.available())
{
if(Serial.read() == 'x')
{
for(int i=0;i<1024;i++)
{
EEPROM.write(i,0xff);
}
}
}
delay(1);
}
このプログラムを動作させるときには、TERATERMで送受信ともCR+LFにしてください。

(C)2012-2014 特殊電子回路株式会社 All Rights Reserved