代码示例:模拟 EEPROM 写入
c
复制代码
#define EEPROM_START_ADDR 0x0801F800 // 假定 Flash 的 EEPROM 起始地址
#define EEPROM_SIZE 1024 // EEPROM 模拟大小(1KB)
// 模拟 EEPROM 写入
HAL_StatusTypeDef EEPROM_Write(uint32_t eepromAddress, uint8_t data) {
if (eepromAddress >= EEPROM_START_ADDR && eepromAddress < (EEPROM_START_ADDR + EEPROM_SIZE)) {
// 如果地址在模拟 EEPROM 范围内
return Flash_Write(eepromAddress, data);
}
return HAL_ERROR; // 地址越界
}
// 模拟 EEPROM 读取
uint8_t EEPROM_Read(uint32_t eepromAddress) {
if (eepromAddress >= EEPROM_START_ADDR && eepromAddress < (EEPROM_START_ADDR + EEPROM_SIZE)) {
return Flash_Read(eepromAddress);
}
return 0xFF; // 返回一个默认值表示未找到有效数据
}
|