ZHCAEX4 January 2025 F29H850TU , F29H859TU-Q1
EEPROM_64_Bit_Mode_Check_EOS() 提供确定 EEPROM 单元是否已满并分配正确地址(如果需要)的功能。如果检测到已满的 EEPROM 单元,则标记该单元以进行擦除,并将指针移动到另一个干净单元。
首先,根据所使用的器件和配置检索 EEPROM 的结束地址。END_OF_SECTOR 指令在 EEPROM_Config.h 文件中进行设置。
uint8_t* End_Address = (uint8_t*) END_OF_SECTOR;接下来,将 EEPROM 组指针与结束地址进行比较。如果写入 64 个新位会超出结束地址,则表示该单元已满并且需要进行擦除。将切换活动 EEPROM 单元,配置新的写入/保护掩码,设置 Erase_Inactive_Unit 标志,并将 EEPROM 组指针重置为新的活动 EEPROM 单元的开头。
if (Bank_Pointer > End_Address - WRITE_SIZE_BYTES)
{
EEPROM_ACTIVE_UNIT ^= 1;
Set_Protection_Masks();
Erase_Inactive_Unit = 1;
RESET_BANK_POINTER;
}