const static uint32_t FLASH_START_ADDRESS = 0x0800FC00;
//f103c8t6 The last page(63) 0x0800FC00-0x0800FFFF
volatile FLASH_Status FLASHStatus = FLASH_COMPLETE;
uint32_t ReadFlash(uint32_t offset)
{
uint32_t *pData = 0;
pData = (uint32_t*)(FLASH_START_ADDRESS + offset);
return *pData;
}
void WriteFlash(uint32_t offset, uint32_t Data)
{
FLASH_Unlock();
FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
FLASHStatus = FLASH_ErasePage(FLASH_START_ADDRESS);
if(FLASHStatus == FLASH_COMPLETE){
FLASHStatus = FLASH_ProgramWord(FLASH_START_ADDRESS + offset, Data);
// FLASHStatus = FLASH_ProgramWord(StartAddress+4, 0xA234567B);812
}
FLASH_Lock();
}
stm32f103 Flash 读写
最新推荐文章于 2024-09-04 08:33:37 发布