#define?FLASH_POWERDATA_ADDR???????????((uint32_t)0x0800E000) void?Save_ConfigData(void) { ????FLASH_Unlock_Fast(); ????FLASH_ErasePage_Fast(FLASH_POWERDATA_ADDR); ????FLASH_BufReset(); ????FLASH_BufLoad(FLASH_POWERDATA_ADDR,?(u32)ConfigInfo.iMaxVoltage,?(u32)ConfigInfo.iMaxCurrent,?(u32)ConfigInfo.iTime1,?(u32)ConfigInfo.iTime2); ????FLASH_ProgramPage_Fast(FLASH_POWERDATA_ADDR); ????FLASH_Lock_Fast(); } void?Read_ConfigData(void) { ????ConfigInfo.iMaxVoltage?=?*(u32?*)(FLASH_POWERDATA_ADDR); ????ConfigInfo.iMaxCurrent?=?*(u32?*)(FLASH_POWERDATA_ADDR+0x04); ????ConfigInfo.iTime1?=?*(u32?*)(FLASH_POWERDATA_ADDR+0x08); ????ConfigInfo.iTime2?=?*(u32?*)(FLASH_POWERDATA_ADDR+0x0C); if(0xFFFF?==?ConfigInfo.iMaxVoltage) { ????InitPowerInfo(); ????Save_ConfigData(); } }
一共就這幾行代碼,每次Read出來都是0XFFFF。 有沒有跟ST-LINK?Utility類似的工具啊,可以外部讀取Flash內(nèi)容,從而先確定是沒寫進(jìn)去,還是讀出問題了啊,函數(shù)接口又都是void類型,完全不知道問題出在哪里。