高级会员

- 积分
- 902
- 金钱
- 902
- 注册时间
- 2012-6-29
- 在线时间
- 39 小时
|
原子大哥,我现在在做flash 模拟eerom测试,做了一个简单的测试例子,可是不能成功写入数据,我找了很久(包括对照例程)都没有找到问题出在哪里,希望大哥能帮帮忙,指点指点,谢谢。我的测试例子代码如下:(使用的是FLASH大小为256K,keil4编程工具)
#include"stm32f10x.h"
#include "flash.h"
#include “LED.h”
#define FLASH_BASE_ADDR 0X08000000
#define FLASH_SAVE_ADDR 0X08070000
/*程序所需的固件库文件已经加到工程中*/
u16 STMFLASH_ReadHalfWord(u32 faddr)
{
return *(vu16*)faddr;
}
void delay(void)
{
u32=254;
for(;i>65535;i--);
}
int main(void)
{
u16 value;
LED_INIT();//指示灯的初始化
FLASH_Unlock();
FLASH_ErasePage(FLASH_BASE_ADDR);
value=STMFLASH_ReadHalfWord(FLASH_BASE_ADDR);
if(value==0)
{
GPIO_SetBits(GPIOC,GPIO_Pin_9);//指示灯亮
}
else
{return 0;}
delay();
delay();
delay();
GPIO_ResetBits(GPIOC,GPIO_Pin_9);//指示灯熄灭
FLASH_ProgramHalfWord(FLASH_SAVE_ADDR ,0x06);
delay();
delay();
value=0;
value=STMFLASH_ReadHalfWord(FLASH_SAVE_ADDR );
if(value==6)
{
GPIO_SetBits(GPIOC,GPIO_Pin_9);//指示灯亮
}
FLASH_Lock();//上锁
return 0;
}
|
|