/************************************************************
**实验名称:
**功能:
**注意事项:
**作者:
*************************************************************/
#include "STM32Lib\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\stm32f10x.h"
#include "hal.h"
#define FLASH_ADR 0x08008000  //要写入数据的地址
#define FLASH_DATA 0x5a5a5a5a  //要写入的数据
int main(void)
{
u32 tmp;
ChipHalInit();   //片内硬件初始化
ChipOutHalInit();  //片外硬件初始化

//判断此FLASH是否为空白
tmp=*(vu32*)(FLASH_ADR);
if(tmp==0xffffffff)
{
 FLASH_Unlock(); //解锁flash编写擦除控制器
 FLASH_ProgramWord(FLASH_ADR,FLASH_DATA);//在指定的地址写一个字
 FLASH_Lock();   //锁定flash编写擦除控制器
 USART1_Puts("kong ,has writen\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n");
 LED2_OFF;
}
else if(tmp==FLASH_DATA)
{
 USART1_Puts("read right\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n");
 LED3_OFF;
}
else
{
 USART1_Puts("read error\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n");
 FLASH_Unlock();//解锁flash编写擦除控制器
 FLASH_ErasePage(FLASH_ADR);//擦除flash的一个页面
 FLASH_Lock();   //锁定flash编写擦除控制器
 USART1_Puts("has clear error address!\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n");
 LED4_OFF;
}

for(;;)
{

}


}