|
@@ -7,9 +7,9 @@ FLASH_EraseInitTypeDef EEPROM_AreaEraseInitStruct;
|
|
|
TrueOrFalse_Flag_Struct_t IsPowerOffDataBkp_SaveFlag = FALSE;
|
|
|
TrueOrFalse_Flag_Struct_t IsFlashSaveDataUpdate = FALSE;
|
|
|
|
|
|
-/****************************局部函数定义******************************/
|
|
|
+/****************************全局函数定义******************************/
|
|
|
//数据写入
|
|
|
-static void CopyDataToEEPROM_Flash(void)
|
|
|
+void CopyDataToEEPROM_Flash(void)
|
|
|
{
|
|
|
uint32_t Temp_32[2];
|
|
|
//Flash页擦除
|
|
@@ -40,7 +40,7 @@ static void CopyDataToEEPROM_Flash(void)
|
|
|
FLASH_Write(EEPROM_FLASH_ADDR_FLAG, Temp_32, 2);
|
|
|
}
|
|
|
|
|
|
-static void CopyDataFromEEPROM_Flash(void)
|
|
|
+void CopyDataFromEEPROM_Flash(void)
|
|
|
{
|
|
|
uint8_t Data_Buf[64];
|
|
|
int8_t Error_OK;
|
|
@@ -102,7 +102,6 @@ static void CopyDataFromEEPROM_Flash(void)
|
|
|
|
|
|
}
|
|
|
|
|
|
-/****************************全局函数定义******************************/
|
|
|
//指定地址写入指定长度数据类型为32bit数据
|
|
|
void FLASH_Write(uint32_t FlashAddress, uint32_t* Data, uint16_t DataLength)
|
|
|
{
|
|
@@ -211,11 +210,11 @@ void EEPROM_Flash_Check(void)
|
|
|
FlagResult = CRC32_Calculate(DataBuf, 4);
|
|
|
|
|
|
//判断数据是否有效
|
|
|
- if((FlagResult - FlagCrc) == 0)//数据有效
|
|
|
+ if((FlagResult - FlagCrc) == 0) //数据有效
|
|
|
{
|
|
|
CopyDataFromEEPROM_Flash();
|
|
|
}
|
|
|
- else//数据无效
|
|
|
+ else if(IsFirstPowerOnFlag == TRUE) //数据无效且开机次数为0时,写入默认参数
|
|
|
{
|
|
|
CopyDataToEEPROM_Flash();
|
|
|
}
|