首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

EEPROM&FLASH的问题!!!

谢谢了,我现在用FLASH试了以下,但是为什么我的FLASH不写入呢?程序基本和EEPROM的一样,只是把寄存器名字改了,做整体擦除时芯片还会上锁。我是按照芯片资料给的顺序写的,寄存器也检查完成了FLASH动作,只是没有写入。不知道是什么原因。
我的程序是这样的:
void FLASH_WR(word data,volatile word* FLASH_Addr) {
if(!FCLKDIV_FDIVLD) FCLKDIV=0x4a;
FSTAT=0x30;
*FLASH_Addr=data;
// PPAGE=(FLASH_Addr>>16); Do not have to set between 4000-7fff
FCMD=0x20;
FSTAT_CBEIF=1;
if(FSTAT_PVIOL)FSTAT_PVIOL=1;
else if(FSTAT_ACCERR)FSTAT_ACCERR=1;
else if(!FSTAT_CBEIF){
while(!FSTAT_CCIF);
}
}
请教高手是什么原因??调用时是这样写的:FLASH_WR(a,(volatile word*)(0x4000));
返回列表