u8 temp=0;
temp=MY_FLASH_WaitOperationDone(0x000B0000);
if(temp!=0x01)
{
MY_FLASH_Unlock();
FLASH->CR |=1<<5; /*OPTER????*/
FLASH->CR |=1<<6; /*START??????????????????×???*/
temp=MY_FLASH_WaitOperationDone(0x000B0000);
if(temp !=0x01)
{
FLASH->CR &=~(1<<5); /*OPTPG????*/
FLASH->CR |=1<<4;
if(New_State)
OB->RDP=0x00A5;
else
OB->RDP=0x00;
}
temp=MY_FLASH_WaitOperationDone(0x000B0000);
if(temp!=0xff)
{
FLASH->CR &=~(1<<4);
}
MY_FLASH_Lock();
}
return temp; |