Memory 什么';s EEPROM.read(地址)和EEPROM[地址]之间的差异
我在Arduino上使用EEPROM来存储一些大的常量数组。我注意到EEPROM.read(地址)和EEPROM[地址]都适用于我的阅读。但是关于EEPROM[地址]方法的文献很少。使用这种方法时,我偶尔也会遇到内存崩溃Memory 什么';s EEPROM.read(地址)和EEPROM[地址]之间的差异,memory,arduino,eeprom,Memory,Arduino,Eeprom,我在Arduino上使用EEPROM来存储一些大的常量数组。我注意到EEPROM.read(地址)和EEPROM[地址]都适用于我的阅读。但是关于EEPROM[地址]方法的文献很少。使用这种方法时,我偶尔也会遇到内存崩溃 EEPROM.read(地址)还没有经过长时间的完全测试。编译时确实会占用更多的存储空间。它在幕后的行为更安全吗 EEPROM[adress]将为您提供对EEPROM单元的引用,而EEPROM.read(adress)将为您提供该单元的无符号字符值 在这两种情况下,你都应该确保
EEPROM.read(地址)还没有经过长时间的完全测试。编译时确实会占用更多的存储空间。它在幕后的行为更安全吗 EEPROM[adress]将为您提供对EEPROM单元的引用,而EEPROM.read(adress)将为您提供该单元的无符号字符值 在这两种情况下,你都应该确保你的地址是有效的 确保地址>=0且
#包括
#包括
void Eepromclr();
无效设置(){
Serial.begin(9600);
eeprom写入字节((void*)0,12);
int x=eeprom读取字节((void*)0)\
序列号println(x);
Eepromclr();
eeprom更新字节((void*)0,6);
int y=eeprom读取字节((void*)0);
序列号println(y);
}
void循环(){
}
void Eepromclr(){
对于(int i=0;i
#include <EEPROM.h>
#include <avr/eeprom.h>
void Eepromclr();
void setup() {
Serial.begin(9600);
eeprom_write_byte((void*)0,12);
int x = eeprom_read_byte((void*)0);\
Serial.println(x);
Eepromclr();
eeprom_update_byte((void*)0,6);
int y = eeprom_read_byte((void*)0);
Serial.println(y);
}
void loop() {
}
void Eepromclr() {
for (int i = 0 ; i < EEPROM.length() ; i++) {
EEPROM.write(i, 0);
}
Serial.println("Eeprom is cleared");
}