断电后 Attiny85 EEPROM 擦除
Attiny85 EEPROM erase, after power lost
如果我打开电源,我的 Attiny85 会丢失整个 EEPROM 数据。
我使用 Arduino IDE 并且我确定 EEPROM 已写入,因为我得到了串行反馈。这是我的代码:
#include <EEPROM.h>
#include <SoftwareSerial.h>
SoftwareSerial SSerial(0, 1);
int addr = 0;
uint8_t val = 2;
void setup()
{
SSerial.begin(9600);
}
void loop()
{
EEPROM.write(addr, val);
delay(100);
uint8_t value = EEPROM.read(addr);
SSerial.print(addr);
SSerial.print("\t");
SSerial.print(value, DEC);
SSerial.println();
addr = addr + 1;
if (addr == 512)
while(1);
}
谢谢:)
通过 ISP SPI 编程会默认擦除 eeprom(所有值变为 0xFF),但似乎可以在编程器设置中设置此功能。通过bootloader编程不擦除eeprom。
谢谢@Vladimir Tsykunov
如果我打开电源,我的 Attiny85 会丢失整个 EEPROM 数据。 我使用 Arduino IDE 并且我确定 EEPROM 已写入,因为我得到了串行反馈。这是我的代码:
#include <EEPROM.h>
#include <SoftwareSerial.h>
SoftwareSerial SSerial(0, 1);
int addr = 0;
uint8_t val = 2;
void setup()
{
SSerial.begin(9600);
}
void loop()
{
EEPROM.write(addr, val);
delay(100);
uint8_t value = EEPROM.read(addr);
SSerial.print(addr);
SSerial.print("\t");
SSerial.print(value, DEC);
SSerial.println();
addr = addr + 1;
if (addr == 512)
while(1);
}
谢谢:)
通过 ISP SPI 编程会默认擦除 eeprom(所有值变为 0xFF),但似乎可以在编程器设置中设置此功能。通过bootloader编程不擦除eeprom。
谢谢@Vladimir Tsykunov