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

mc9s12dg128 eeprom问题

EEPROm的擦除还设计到几个寄存器的配置,那几个寄存器不是在EEPROM那章,而在内存地址分配那章
我有这样的例子
水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
初始化:
void EepromInit(void){
INITEE=17;
asm nop;
MISC=1;
}
擦写:
unsigned char EepromErase(unsigned int *pAddress, unsigned char size)
{
if(ECLKDIV_EDIVLD == 1)
{if((ESTAT_ACCERR == 0) && (ESTAT_PVIOL == 0))
{ while(size)
{ if(ESTAT_CBEIF == 1)
{ *pAddress = 0xFFFF;
pAddress += 2;
ECMD =ERASECMD;
ESTAT_CBEIF = 1;
if((ESTAT_ACCERR == 1) || (ESTAT_PVIOL == 1))
return ERROR;
while (ESTAT_CCIF == 0);
size--; }
}
return NOERROR;
}
else return ERROR;

}
else return ERROR;

}
unsigned char EepromProgram(unsigned int *pAddress, unsigned int *pData, unsigned char size)
{ if(ECLKDIV_EDIVLD == 1)
{ if((ESTAT_ACCERR == 0) && (ESTAT_PVIOL == 0))
{ while(size)
{ if(ESTAT_CBEIF == 1)
{ *pAddress++ = *pData++;
ECMD = PROGCMD;
ESTAT_CBEIF = 1;
if((ESTAT_ACCERR == 1) || (ESTAT_PVIOL == 1))
return ERROR;
while (ESTAT_CCIF == 0);
size--; }
}
return NOERROR;
}
else return ERROR;
}
else return ERROR;

}
水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
这段时间忙着买车,所以没空上论坛,不好意思,让大家等久了啊
上面的例子肯定好用的,我是用在9S12D64上,但是我想DG128肯定页通用的,直接拷贝过去就可以用
只是有一点忘了粘贴
/*下面为读写EEPROM的配置和操作函数*/
#define MASS_ERASE 0x41
#define ERASECMD 0x40
#define PROGCMD 0x20
#define Address_Start 0x1000 //定义读取或写EEPROM的地址
#define SizeMsg 24 //has been changed
#define ERROR 0xFF
#define NOERROR 0x0

unsigned int write_data[10]; //把这些数据写到EEPROM里面
unsigned int read_data[10]; //从EEPROM中读取的数据放到这个数组里面
水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
其中,EEPROM的地址定义根据INITEE这个寄存器来定,这个寄存器设定的值不同,实际EEPROM的起始地址页不一样。这个例子我试验过的,很好用
水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
不好意思,我用的单片机是9S12D64的,但是我想DG128的应该页一样用,
对D64来说,INTEE=17时,EEPROM的首地址是0x1000,然后这个地址后面的1K都应该是EEPROM空间
改改INTEE值(具体多少我忘了,我试过),可以把EEPROM的地址改为0x2000,然后那个例子也好用的
对DG128来说,它的EEPROM可能大些,所以其地址范围和D64会有少许差别,但我想用法应该是一样的
水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
返回列表