123456789101112131415161718192021222324252627282930313233343536 |
- #ifndef __EEPROM_FLASH_H
- #define __EEPROM_FLASH_H
- #include "stm32f1xx_hal.h"
- #include "var.h"
- #include "crc_cal.h"
- #define EEPROM_FLASH_BEGIN_ADDRESS 0x0801FC00
- #define EEPROM_FLASH_END_ADDRESS 0x0801FFFF
- #define EEPROM_FLASH_ADDR_FLAG EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)0 //Flash数据写入标志 4bytes + 4bytes
- #define EEPROM_FLASH_ADDR_MODE EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)8 //电机型号 16bytes + 4bytes
- #define EEPROM_FLASH_ADDR_SN EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)28 //电机序列号 16bytes + 4bytes
- #define EEPROM_FLASH_ADDR_MAC_INFO EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)48 //电机生产信息 32bytes + 4bytes
- #define EEPROM_FLASH_ADDR_USER_INFO1 EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)84 //自定义字符串1 16bytes + 4bytes
- #define EEPROM_FLASH_ADDR_USER_INFO2 EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)104 //自定义字符串2 16bytes + 4bytes
- #define EEPROM_FLASH_ADDR_USER_INFO3 EEPROM_FLASH_BEGIN_ADDRESS + (uint32_t)124 //自定义字符串3 16bytes + 4bytes
- #define EEPROM_FLASH_ADDR_TEMP_BEGIN_ADDRESS 0x0801F400
- #define EEPROM_FLASH_ADDR_TEMP_END_ADDRESS 0x0801F7FF
- #define EEPROM_FLASH_ADDR_POWEROFF_BKP_FLAG EEPROM_FLASH_ADDR_TEMP_BEGIN_ADDRESS //掉电保存的关键数据标志 4bytes + 4bytes
- #define EEPROM_FLASH_ADDR_POWEROFF_BKP EEPROM_FLASH_ADDR_TEMP_BEGIN_ADDRESS + (uint32_t)8 //掉电保存的关键数据 40bytes + 4bytes
- extern TrueOrFalse_Flag_Struct_t IsPowerOffDataBkp_SaveFlag;
- extern TrueOrFalse_Flag_Struct_t IsFlashSaveDataUpdate;
- extern void FLASH_Write(uint32_t FlashAddress, uint32_t* Data, uint16_t DataLength);
- extern void EEPROM_Flash_Erase(uint32_t BeginAddress, uint32_t EndAddress);
- extern int8_t ReadDataFromEEPROM_Flash(uint32_t FlashAddress, uint8_t* Data, uint8_t Length); // Length必须为4的倍数
- extern void SaveDataToEEPROM_Flash(uint32_t FlashAddress, uint8_t* Data, uint8_t Length); // Length必须为4的倍数
- extern void EEPROM_Flash_Check(void);
- extern void EEPROM_Flash_DataUpdate(TrueOrFalse_Flag_Struct_t* IsUpdateFlag);
- extern TrueOrFalse_Flag_Struct_t EEPROM_Flash_TempCheck(void);
- #endif
|