查看: 13331|回复: 21

[其他] DZ60的EEPROM问题

[复制链接]

该用户从未签到

6

主题

24

帖子

0

注册会员

Rank: 2

积分
63
最后登录
1970-1-1
发表于 2010-7-21 17:36:20 | 显示全部楼层 |阅读模式
在写DZ60EEPROM时,按照datasheet描述的流程写,结果不能实现对EEPROM的改写,各位帮忙看看。
详细代码如下:
void WriteByteEeprom(word * address,word d)
{
    DisableInterrupts;
    while(!FSTAT_FCBEF);//wait for busy
    FSTAT = 0x30;
    (*address) = d;
    FCMD = 0x40;
    FSTAT_FCBEF = 1;
    asm {
    nop
    nop
    nop
    nop
    }; //wait at least 4 clock cycles    
    while(!FSTAT_FCCF) ;
    /***以上为擦除EEPROM,一下为写EEPROM**/ 
    while(!FSTAT_FCBEF);//wait for busy
    FSTAT = 0x30; 
    while(!FSTAT_FCCF) ;
    (*address) = (UINT8)d;
    FCMD = 0x20;
    FSTAT_FCBEF = 1;
    asm {
    nop
    nop
    nop
    nop
    }; //wait at least 4 clock cycles    
    while(!FSTAT_FCCF) ;
    EnableInterrupts;
}
 
我知道答案 目前已有20人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-7-22 08:31:30 | 显示全部楼层

    RE:DZ60的EEPROM问题

    这个应该是对flash的操作,E2是通过I2C总线来操作的。
    该会员没有填写今日想说内容.

    该用户从未签到

    6

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2010-7-22 09:59:41 | 显示全部楼层

    RE:DZ60的EEPROM问题

    MC9S08DZ60是有带内部EEPROM的。DATASHEET上有说明。
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-7-22 10:40:32 | 显示全部楼层

    回复:DZ60的EEPROM问题

    官网找的一个例程,你可以参考一下。

    MC9S08LG32 .zip

    25.21 KB, 下载次数: 277

    该会员没有填写今日想说内容.

    该用户从未签到

    6

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2010-7-22 10:54:35 | 显示全部楼层

    RE:DZ60的EEPROM问题

    谢谢,先下下来看看
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-7-22 11:40:06 | 显示全部楼层

    RE:DZ60的EEPROM问题

    另外,操作地址一定要在范围之内
    该会员没有填写今日想说内容.

    该用户从未签到

    6

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2010-7-22 17:44:59 | 显示全部楼层

    RE:DZ60的EEPROM问题

    用PE仿真上面的代码发现:
        FSTAT = 0x30;--》正常执行
        (*address) = d;--》正常执行
        FCMD = 0x40;--》正常执行
        FSTAT_FCBEF = 1;//没执行,异常,直接跳到nop
      asm {
        nop----》正常执行
        nop
        nop
        nop
        };
    即FCBEF不能被置位,所以EEPROM的处理总是不能成功。
    可是程序因为什么原因不执行该条指令,现在还不清楚原因。

    该用户从未签到

    3

    主题

    33

    帖子

    0

    新手上路

    Rank: 1

    积分
    58
    最后登录
    1970-1-1
    发表于 2010-8-3 16:50:23 | 显示全部楼层

    回复:DZ60的EEPROM问题

    你的代码基本没错, 注意时钟频率要求。注意写入的地址范围,注意是否进行了区块保护设置。

    该用户从未签到

    0

    主题

    10

    帖子

    0

    新手上路

    Rank: 1

    积分
    9
    最后登录
    1970-1-1
    发表于 2010-9-13 22:37:32 | 显示全部楼层

    回复:DZ60的EEPROM问题

    回复第 8 楼 zooqic于2010-08-03 08:50:23发表:
    你的代码基本没错, 注意时钟频率要求。注意写入的地址范围,注意是否进行了区块保护设置。
     

    okkkkk

    该用户从未签到

    13

    主题

    52

    帖子

    0

    新手上路

    Rank: 1

    积分
    121
    最后登录
    1970-1-1
    发表于 2010-9-15 18:42:30 | 显示全部楼层

    RE:DZ60的EEPROM问题

    楼主程序搞定了吗?
    能不能贴上来学习一下?
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 01:30 , Processed in 0.127847 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表