在你的C文件里引用EEPROM函数的头文件,eeprom_routines.h
然后在程序中使用
void eeprom_write(unsigned char addr, unsigned char value)
unsigned char eeprom_read(unsigned char addr)
这两个函数了。
这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,
就写:eeprom_write(0x55,0x10)
同理,如果想读取0x55地址处的值,
就写:ee_value = eeprom_read(0x55)
如果编译时编译器提示找不到eeprom_routines.h,可以在
X:\Program Files\HI-TECH Software\PICC\9.81\include 目录下找,然后复制到自己项目文件夹下。
对了,我用的是MPLab IDE,编译器使用的是PICC。
是需要读写程序吗?从指定地址下读取一个字节:
uchar ReadEEPROM(uchar EE_Addr)
{
EEADR=EE_Addr //给地址
EEPGD=0//
RD=1 //开始读
return EEDATA //直接返回读取的EEPROM
}
将一个字节的数据写入指定地址里:
bool WriteEEPROM(uchar EE_data,uchar EE_addr)
{
uchar j=0//多次执行
EEIF=0 //clear flag
EEADR=EE_addr //set address
EEDATA=EE_data //set data.(one byte)
EEPGD=0//EEPROM to be the data memory.
while(++j<10)//if there is wrong to write,begin
{
GIE=0//关中断,保护
WREN=1//写允许
EECON2=0x55
EECON2=0xaa
WR=1//写开始,写完后硬件置0写
WREN=0//写使能禁止
GIE=1//开中断
while(WR) //等待写 *** 作完成,没有判断EEIF
if(!WRERR)//如果无误,跳出程序,否则重写
return true
}
return false
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)