历史上的今天
今天是:2025年03月12日(星期三)
2020年03月12日 | pic 16 f690 pic 16 f1947 eeprom 实例 与区别
2020-03-12 来源:eefocus
void WriteEE(unsigned char adds,unsigned char data)
{
while(WR==1); //上一次写操作是否完成
EEADR=adds; //EEPROM地址
EEDAT=data; //准备写入EEPROM的数据
EEPGD=0; //指向EEPROM数据储存器
CFGS=0; //指向EEPROM数据储存器
WREN=1; //使能写操作
GIE=0; //禁止中断
EECON2=0x55;
EECON2=0xAA; //EEPROM解锁
WR=1;
GIE=1; //开始写
while(WR==1); //等待写操作完成
if(EEIF==1)
EEIF=0;
WREN=0; //禁止写操作
}
unsigned char ReadEE(unsigned char adds)
{
unsigned char num;
while(RD==1); //上一次读操作是否完成
EEADR=adds; //EEPROM地址为00H
EEPGD=0; //指向EEPROM数据储存器
CFGS=0; //指向EEPROM数据储存器
RD=1; //开始读
while(RD==1); //等待读操作完成
num=EEDAT; //读出
return(num); //返回读出的数
}
void write_eeprom(unsigned char data, unsigned char add )
{
//while(WR==1);
EEADR=add;
EEDAT=data; //欲写入之数据
EEPGD=0x00; //操作数据EEPROM区
WREN=0x01; //使能写操作
GIE=0x00; //禁止中断
EECON2=0x55;
EECON2=0xAA;
WR=0x01;
GIE=0x01;
// delay(0x02);
while(WR==1);
if(EEIF==1)
EEIF=0;
WREN=0x00;
}
unsigned char read_eeprom(unsigned add)
{ unsigned char num;
while(RD==1);
EEADR=add; //寻址地址
EEPGD=0x00; //操作数据EEPROM区
RD=0x01; //启动读操作
// return EEDAT;
while(RD==1); //等待读操作完成
num=EEDAT; //读出
return(num);
}
初始化
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
__EEPROM_DATA(0,0,0,0,0,0,0,0);
史海拾趣
|
使用了Windml5.2库,编译vxworks image ,出错了,请高手帮忙 使用了Windml5.2库,编译vxworks image ,出现下面错误: warning: Undefined symbol \'uglIoDrvInit\' in file \'partialImage.o\' dld: warning: Undefined symbol \'uglSdkArray\' in file \'partialImage.o\' 怎么办? 已经添 ...… 查看全部问答> |
|
我在北电的招聘职位中看到一些职位,写的缩写,不知道啥意思,请各位大侠指教! ENTS Support Engineer (Voice) GNTS Engineer, Data WiMax Senior SV Engineer 这些职位中的 ENTS,GNTS,SV分别都是什么意思?… 查看全部问答> |
|
小弟刚开始做ppc开发,在Symbo MC50 上面,用的是WM2003SE,自带了pword,pecel 客户要求结果要存在excel里面,现在要在自己的程序里面将数据存到excel里面,在pc上做的话,有对应的.com组件,但是做ppc开发没有,怎么办啊?… 查看全部问答> |
|
是好的创意好和想法重要,还是完美的电路设计和技能重要,我了解的方面很多,但却都不精,现在我脑袋里总有一些好的想法和创意,自己对方案的可行性和大概的思路也都比较清楚,但一旦落实到具体的实施,就会发现自己在这方面的能力是如此的糟糕(即 ...… 查看全部问答> |




