📄 354.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://202.112.58.200"><font face="黑体"><big><big>Tsinghua</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> 嵌入式系统 (BM: turbolinux jacobw) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="嵌入式系统.htm">回到开始</a>][<a href="337.htm">上一层</a>][<a href="355.htm">下一篇</a>]
<hr><p align="left"><small>发信人: wyhang (木瓜), 信区: Embedded <br>
标 题: Re: 有谁用过EEPROM 28C256,请帮我 <br>
发信站: BBS 水木清华站 (Mon Dec 24 20:04:39 2001) <br>
<br>
<br>
【 在 lump (tony) 的大作中提到: 】 <br>
: 我按一般的写RAM 62256的方式按一个字节往里面写,然后等待15毫秒 <br>
: 发现它写的不对.然后我分别试了按64/16/8字节连续写然后等待,也不 <br>
: 对,请问该怎样写才对?线路按接RAM的方式接的.先谢! <br>
<br>
我用过xicor公司的x28c256 它是支持单字节或是页(64字节)写操作的 <br>
而xicor的x28hc256是支持单字节或是页(128字节)写操作的。你要先弄清 <br>
你所用的写操作是几个字节的 其实EEPROM一般都是支持硬件写保护和软件 <br>
写保护的 这样可以避免外界干扰造成误写入 所以就有两种方式写入数据 <br>
(在没有硬件写保护的前提下) <br>
1、先将去掉整个EEPROM的软件写保护 然后再写入数据 可以写入1个字节或是 <br>
最多到一页字节(不同型号不一样!) 写完后延时等待Twc时间(具体察看 <br>
datasheet 典型的为10ms) 或是采用data polling 的方法检查EEPROM的内部 <br>
写操作是否完成 例如: <br>
<br>
//一个定义在EEPROM中的数组 EEPROM的开始地址为0x0000 <br>
xdata unsigned char EEPROM[128] _at_ 0x0000 <br>
。。。。。。 <br>
<br>
//写操作开始 一次页写入 <br>
<br>
for(i=0;i<64;i++) <br>
{ <br>
EEPROM[i]=i; <br>
} <br>
<br>
//采用data polling <br>
while( (EEPROM[i-1]&0x80)!=(i-1)&0x80 ); //等待EEPROM内部的写操作完成 <br>
//可以在这里面加入超时判断 <br>
//防止EEPROM坏了写不入 <br>
<br>
这个写入EEPROM方式不是厂家多推荐的 厂家推荐下面这种方法 <br>
<br>
2、先使EEPROM进入SDP(软件数据保护)模式 然后紧接着写入数据 这样做的好处是 <br>
始终使得EEPROM处于SDP状态 例如 <br>
<br>
//定义一个开始地址为0x0000的32k的EEPROM数组 <br>
xdata unsigned char EEPROM[32768] _at_ 0x0000; <br>
<br>
........... <br>
<br>
//开始写入数据 <br>
<br>
EEPROM[0x5555]=0xaa; <br>
EEPROM[0x2aaa]=0x55; <br>
EEPROM[0x5555]=0xa0; <br>
//以上三个字节的写入 实际上并没有把数据写到EEPROM中 <br>
//而是使EEPROM进入“假的”SDP状态 :) <br>
<br>
for(i=0;i<64;i++) <br>
{ <br>
EEPROM[i]=i; //这里不一定是写入64个字节 但是不能超过页操作 <br>
//的最大字节数 <br>
} <br>
<br>
delay_for_twc(); //延时Twc(具体察看datasheet,典型10ms) <br>
//Twc时间过后EEPROM就会处于"真正"的SDP状态了:) <br>
<br>
希望能帮到你 good luck:) <br>
<br>
-- <br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.118.68.62] <br>
</small><hr>
<p align="center">[<a href="嵌入式系统.htm">回到开始</a>][<a href="337.htm">上一层</a>][<a href="355.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -