stm32f103 Flash 读写

来源:互联网 发布:网络代写小说招聘 编辑:程序博客网 时间:2024/06/05 17:27

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();
}

0 0
原创粉丝点击