打印

EEPROM问题

[复制链接]
890|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2013-8-25 09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当**作EEPROM时,即使写一个字节,整个扇区就都变成这个字节的内容,我同时赋值保存到EEPROM,例如

SectorErase(0X2000);
byte_write(0x2000,1)        ;
byte_write(0x2001,2)        ;

整个扇区的值都是2.这是为什么,求解。
附程序,源自网络。
void byte_write(uint byte_addr,uchar data)
{
ISP_ADDRH=(uchar)(byte_addr>>8);
ISP_ADDRL=(uchar)(byte_addr&0x00ff);
ISP_CMD=ISP_CMD&0xf8;
ISP_CMD=ISP_CMD|0x02;
ISP_DATA=data;

ISP_IAP_enable();
ISP_TRIG = 0x46;
ISP_TRIG = 0xb9;  
_nop_();
ISP_IAP_disable();
}

相关帖子

沙发
sinadz| | 2013-8-25 10:46 | 只看该作者
用 寄存器操作试试

使用特权

评论回复
板凳
火箭球迷| | 2013-8-25 11:02 | 只看该作者
可能你是STC89C53芯片可能不带EEPROM

使用特权

评论回复
地板
pkat| | 2013-8-25 11:14 | 只看该作者
把你的CMD全部发出来看看
ISP_CMD=ISP_CMD|0x02;

02是什么CMD,别是块写入!

使用特权

评论回复
5
gxgclg| | 2013-8-26 19:22 | 只看该作者
pkat 发表于 2013-8-25 11:14
把你的CMD全部发出来看看
ISP_CMD=ISP_CMD|0x02;

分析的很有道理,试试看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝