STM32學習筆記-Flash做為儲存器儲存資料
阿新 • • 發佈:2019-01-24
其中寫操作如下:
FLASH_Unlock(); //解鎖FLASH程式設計擦除控制器
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除標誌位
/*********************************************************************************
// FLASH_FLAG_BSY FLASH忙標誌位
// FLASH_FLAG_EOP FLASH操作結束標誌位
// FLASH_FLAG_PGERR FLASH編寫錯誤標誌位
// FLASH_FLAG_WRPRTERR FLASH頁面防寫錯誤標淨
**********************************************************************************/
FLASH_ErasePage(FLASH_START_ADDR); //擦除指定地址頁
FLASH_ProgramHalfWord(FLASH_START_ADDR+(addr+i)*2,dat); //從指定頁的addr地址開始寫
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除標誌位
FLASH_Lock(); //鎖定FLASH程式設計擦除控制器
從上面可以看出基本順序是:
讀操作如下:
u16 value;
value = *(u16*)(FLASH_START_ADDR+(addr*2));//從指定頁的addr地址開始讀