首页 > 常识 >

eeprom如何存参数

  • 100次浏览     发布时间:2025-01-15 21:28:11    

EEPROM(Electrically Erasable Programmable Read Only Memory)是一种电可擦写的只读存储器,与RAM不同,EEPROM中的数据在断电后不会丢失,因此适合用来存储需要永久保存的参数。以下是一些关于如何使用EEPROM存储参数的方法:

方法一:直接写入EEPROM

定义参数结构体

```c

typedef struct {

uint32_t Speed;

char st;

uint8_t TxBuff;

// ... 可以根据需要添加更多参数

} SystemPrm;

```

定义结构体变量或指针

```c

SystemPrm *systemSave;

```

编写写入函数

```c

uint8_t SaveSystemPrm(SystemPrm *st) {

uint8_t size = sizeof(SystemPrm);

for (uint8_t i = 0; i < size> EEPROM.write(i + SYS_SAVE, ((uint8_t *)st)[i]);

}

return 1; // 成功

}

```

方法二:使用简易操作面板或舒适型操作控制面板

设置参数

使用简易操作面板(PMU)或舒适型操作控制面板(OP1S)设置参数。

这些参数会直接写入EEPROM并永久保存。

方法三:使用特定库函数

写入单个字节

```c

void EEPROM_write(int address, int value) {

EEPROM.write(address, value);

}

```

写入多个字节

```c

void EEPROM_write_block(int address, const void *data, size_t length) {

const uint8_t *byteData = (const uint8_t *)data;

for (size_t i = 0; i < length> EEPROM.write(address + i, byteData[i]);

}

}

```

注意事项

地址对齐:在写入EEPROM时,确保地址是字节对齐的,以避免读写错误。

擦除与写入:在写入新参数前,可能需要先擦除原有数据。可以使用EEPROM的擦除功能,但通常在初始化时进行。

参数读取:在系统启动或需要读取参数时,从EEPROM中读取并还原参数。

通过以上方法,可以有效地将参数存储在EEPROM中,确保在断电后参数不会丢失。

热门文章
最新文章