搜索

[家电应用] 关于中颖单片机SH79F3283数据手册里面 EEPROM读取指令 怎么只有汇编?

[复制链接]
30|3
 楼主 | 2020-11-16 16:51 | 显示全部楼层 |阅读模式
数据手册只有汇编,这个只能用汇编吗?我仿照sh79f166a的EEPROM代码,但是每次读取的数都是0。

使用特权

评论回复

评论

join剧终 2020-11-16 16:53 回复TA
void eeprom_erase(uint addr) { //CY = EA; EA = 0; FLASHCON = 1; //·ÃÎÊEEPROMÇø XPAGE = addr; IB_CON1 = 0xe6; IB_CON2 = 0x05; IB_CON3 = 0x0a; IB_CON4 = 0x09; IB_CON5 = 0x06; _nop_(); _nop_(); _nop_(); _nop_(); XPAGE = 0; FLASHCON = 0; //·ÃÎÊÖ÷³ÌÐò EA=1; } 
 楼主 | 2020-11-16 16:54 | 显示全部楼层
void eeprom_erase(uint addr)
{
        //CY = EA;
        EA        =        0;
        FLASHCON        =        1;    //·ÃÎÊEEPROMÇø
        XPAGE        =        addr;
        IB_CON1 = 0xe6;
        IB_CON2 = 0x05;
        IB_CON3 = 0x0a;
        IB_CON4 = 0x09;
        IB_CON5 = 0x06;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        XPAGE = 0;
        FLASHCON = 0;  //·ÃÎÊÖ÷³ÌÐò
        EA=1;
}

void eeprom_program(uint addrH,uint addrL,uint ndata)
{
        //CY = EA;
        EA = 0;
        FLASHCON = 1;
        XPAGE = addrH;
        IB_OFFSET        =        addrL;
        IB_DATA        =        ndata;
        IB_CON1 = 0x6e;
        IB_CON2 = 0x05;
        IB_CON3 = 0x0a;
        IB_CON4 = 0x09;
        IB_CON5 = 0x06;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        XPAGE = 0;
        FLASHCON = 0;
        EA=1;
}
void eeprom_write(uint addr,uchar *value,uchar num)
{
        uchar n=0;
        eeprom_erase(addr>>8);
        for(n=0;n<num;n++)
        {
                eeprom_program(addr>>8,(addr&0x0f),value[n]);
                addr++;
        }
}

uchar eeprom_read(uint addr)
{
        uint tempb;
       
        FLASHCON        =        1;
        tempb = *(uchar code *)(addr);
        FLASHCON = 0;
        return (tempb);
}



使用特权

评论回复
 楼主 | 2020-11-16 16:55 | 显示全部楼层
请问代码问题出现在哪里?

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表