問題があります。ATtiny から EEPROM を読み取ることはできますが、何かを書き込むことができません。
これが私のコードです:
#include <EEPROM.h>
int addr = 0;
int val = 2;
void setup()
{
}
void loop()
{
EEPROM.write(addr, val);
addr = addr + 1;
if (addr == 512)
addr = 0;
}
編集
今私の書き込みコードは次のとおりです。
#include <EEPROM.h>
int addr = 0;
int val = 2;
void setup()
{
}
void loop()
{
EEPROM.write(addr, byte(val));
addr = addr + 1;
if (addr == 512)
while(1);
}
そして私の読み取りコード:
int address = 0;
byte value;
#include <SoftwareSerial.h>
void setup()
{
SSerial.begin(9600);
}
void loop()
{
value = EEPROM.read(address);
SSerial.print(address);
SSerial.print("\t");
SSerial.print(value, DEC);
SSerial.println();
address = address + 1;
if (address == 512){
address = 0;
delay(100000000);
}
}
私は常に値 255 しか取得しません。すべてのアドレスで。次に、int を byte に変換します。私の場合、int は 255 を超えません。
ところで、int を byte として作成できますか? ということで、普通の int のように使えますが、直接書けるのでしょうか?