STM 32 IAP(对flash进行读写)

作者:number007cool

转自:http://blog.chinaunix.net/uid-21658993-id-1820025.html


/************************************************************
**实验名称:
**功能:
**注意事项:
**作者:
*************************************************************/
#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(;;)
 {
  
 }
 
 
}
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值