ZHCADD5A November 2023 – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
EEPROM_Read() 函数的功能是读取最近写入的数据并将其存储到临时缓冲区。此函数可用于调试目的,或者在运行时读取存储的数据。页面模式与 64 位模式的行为有所不同。通常,最近写入的数据(页面或 64 位)存储在 Read_Buffer 中。
页面模式:首先,该函数通过检查 Empty_EEPROM 标志来验证数据是否已写入 EEPROM。如果在写入任何数据之前尝试读取数据,则读入缓冲区的值无效并抛出错误。如果数据已写入,则找到当前的 EEPROM 组和页面,然后填充读缓冲区。
uint16 i;
// Check for empty EEPROM
if (Empty_EEPROM)
{
Sample_Error(); // Attempting to read data that hasn't been written
} else
{
// Find Current Bank and Current Page
EEPROM_GetValidBank(1);
// Increment page pointer to point at first data word
Page_Pointer += 8;
// Transfer contents of Current Page to Read Buffer
for(i=0;i<DATA_SIZE;i++)
{
Read_Buffer[i] = *(Page_Pointer++);
}
}
64 位模式:首先,该函数通过检查 Empty_EEPROM 标志来验证数据是否已写入 EEPROM。如果在写入任何数据之前尝试读取数据,则读入缓冲区的值无效并抛出错误。如果数据已写入,则指针向后移动四个地址(共 64 位),读取缓冲区被数据填满。
uint16 i;
// Check for empty EEPROM
if (Empty_EEPROM)
{
Sample_Error(); // Attempting to read data that hasn't been written
} else
{
// Move the bank pointer backwards to read data
Bank_Pointer -= 4;
// Transfer contents of Current Page to Read Buffer
for(i=0;i<4;i++)
{
Read_Buffer[i] = *(Bank_Pointer++);
}
}