原创 STM 32 IAP(对flash进行读写)

2015-5-29 12:49 1280 10 10 分类: MCU/ 嵌入式
/************************************************************
**实验名称:
**功能:
**注意事项:
**作者:
*************************************************************/
#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(;;)
 {
  
 }
 
 
}
 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条