ADI 技术
直播中

褚毕赋

7年用户 213经验值
私信 关注
[问答]

请问ADUC7061如何实现EEPROM功能?C语言是否有示范?

@@我使用ADUC7061做的信号采集,现在客户需要实现EEPROM功能来保存3-5个数据,请问如何使用C语言实现?不使用外部EEPROM 专用IC。
附件

回帖(3)

蒋喜玲

2018-8-27 11:50:41
ADuC7061的flash支持掉电保存数据,所以直接写flash就可以了,请参照英文datasheet第24页到27页。
简单代码示例如下:
FEEDAT = ;// 要写入的数据
FEEADR = ;//写入数据的地址
FEEMOD = 0x8;//使能flash写功能
FEECON = 0x02;//执行单次写入
举报

褚毕赋

2018-8-27 11:58:40
你好1
按照你的信息,我查看了资料,我按照资料。
需要对三个文件中的数据进行掉电保存。
例如   char hfe;  char low;  char high;
按照资料我一个一个的保存到3个地址中:
 
while(FEESTA & 0x04){}
     FEEDAT=hfe;
     FEEADR=0x46BB;
     FEEMOD=0X8;
     FEECON=0X02;
     while(FEESTA & 0x04){}
     FEEDAT=low;
     FEEADR=0x56BB;
     FEEMOD=0X8;
     FEECON=0X02;
     while(FEESTA & 0x04){}
     FEEDAT=high;
     FEEADR=0x66BB;
     FEEMOD=0X8;
     FEECON=0X02;
     while(FEESTA & 0x04){}
不知道这样对不对?因为保存了掉电后需要重新取出,我这样写的:
FEEADR=0x46BB; 
  FEECON=0X01;
  hfe=FEEDAT;
  while(FEESTA & 0x04){}
FEEADR=0x56BB; 
  FEECON=0X01;
  low=FEEDAT;
  while(FEESTA & 0x04){}
FEEADR=0x66BB; 
  FEECON=0X01;
  high=FEEDAT;
  while(FEESTA & 0x04){}
但是掉电后再开机或复位。上次运行中的数据还是么有保存到。又回复到了初始状态,不知道是怎么回事?请指教!
举报

蒋喜玲

2018-8-27 12:11:37
尝试FEECON 用0x03, 写flash前需要先擦除。写完之后直接去读看有没有写成功,或者在debug模式下看看有没有写成功。
举报

更多回帖

×
20
完善资料,
赚取积分