|
#define FLASH_USER_START_ADDR ((uint32_t)0x08006000)
void main(void)
{
FLASH_Unlock();
FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);
if (FLASH_ErasePage(FLASH_USER_START_ADDR)!= FLASH_COMPLETE)
{
/* Error occurred while sector erase.
User can add here some code to deal with this error */
while (1)
{
}
}
FLASH_ProgramWord(FLASH_USER_START_ADDR, 1000);//向地址写入1000
FLASH_Lock();
while(1)
{
Data = *(__IO uint32_t *)FLASH_USER_START_ADDR;//读取地址 就会死机
}
}
如果使用Data = *(__IO uint16_t *)FLASH_USER_START_ADDR;就会死机 ,但是只能读取1000的低八位数据。希望大家帮忙分析一下
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|