天行健,君子以自强不息
分类:
2010-09-18 16:17:28
/************************************************************
**实验名称: **功能: **注意事项: **作者: *************************************************************/ #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(;;) { } } |