/*************************************************************/
#include "STM32Lib\\stm32f10x.h"
#include "hal.h"
#defineFLASH_ADR0x08008000//要写入数据的地址
#defineFLASH_DATA0x5a5a5a5a//要写入的数据
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(;;)
{
}
}