在线时间0 小时
UID189285
注册时间2008-1-7
NXP金币0
该用户从未签到
新手上路

- 积分
- 25
- 最后登录
- 1970-1-1
|
有谁写过MC9S12DG128B的EEROM和FLASH来存现场数据的吗??下面这段对吗???谢谢指教啊!
*************************************************
EEPROM初始化
*************************************************/
void EEPROM_init(void)
{
ECLKDIV=0x50; // 采用8分频ECLK=22.1184M/8/16=172.8K
ECNFG=0x00; // 禁止EEPROM相关操作的中断
while(!ECLKDIV_EDIVLD); // 等待时钟设置成功
EPROT_EPOPEN=1; // EEPROM没有保护,可以进行编程与擦除
EPROT_EPDIS=1; // EEPROM保护禁止
}
/*************************************************
写EEPROM程序
Addr: 要操作的EEPROM偏移地址
Data: 要操作的EEPROM数据
OpType:操作命令类型
*************************************************/
void EEPROM_write(volatile word * Addr,word Data,byte OpType)
{
DisableInterrupts;
while(!ESTAT_CBEIF); // 等待EEPROM命令缓冲器为空
*Addr=Data; // 设置EEPROM的偏移地址
ECMD=OpType; // 指令的类型
ESTAT |= 0x80; // 清命令缓冲标志,开始执行命令
while(ESTAT_CCIF == 0); // 等待命令完成
EnableInterrupts;
}
/*************************************************
读EEPROM程序
Addr: 要操作的EEPROM偏移地址
返回值:读到的结果数据
*************************************************/
uint EEPROM_read(volatile word * Addr)
{
word TempData;
DisableInterrupts;
TempData=*Addr; // 读EEPROM的偏移地址的数据
EnableInterrupts;
return(TempData);
}
|
|