📄 eeprom.c
字号:
/**********************************************************************
* 文 件 名:eeprom.c
* 功 能:EEPROM模块
* 日 期:2007年5月6日
**********************************************************************/
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
//初始化EEPROM,设置16MHZ晶振下分频系数使ECLK为200KHZ
void IintEEPROM(void)
{
ECLKDIV = 0x4f;
}
//向EEPROM的某个地址写入16bit数据,地址范围 0-511
void WriteEEPROM(word data,word addr)
{
word * p;//EEPROM地址指针
p = (word *)(0x0800 + addr * 4);//取得要操作的实际地址
*p=0xff;
ECMD=0x40;
do
{
while(ESTAT_CBEIF==0);//wait until buffer is empty
ESTAT_PVIOL=1 ;
ESTAT_ACCERR=1 ;
*p = data;
ECMD = 0x20;//启动编程命令
ESTAT_CBEIF = 1;//启动操作
}
while(ESTAT_PVIOL==1||ESTAT_ACCERR==1);
while(ESTAT_CCIF==0);//等待操作完成
}
//读取EEPROM的某个地址的16bit数据,地址范围 0-511
word ReadEEPROM(word addr)
{
word *p;//EEPROM地址指针
p = (word *)(0x0800 + addr * 4);//取得要操作的实际地址
return *p;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -