📄 00000000.htm
字号:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>Re: 有谁用过EEPROM 28C256,请帮我 turbolinux </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人: wyhang (木瓜), 信区: Embedded <br />标 题: Re: 有谁用过EEPROM 28C256,请帮我 <br />发信站: BBS 水木清华站 (Mon Dec 24 20:04:39 2001) <br /> <br /> <br />【 在 lump (tony) 的大作中提到: 】 <br />∶<i> 我按一般的写RAM 62256的方式按一个字节往里面写,然后等待15毫秒 </i><br />∶<i> 发现它写的不对.然后我分别试了按64/16/8字节连续写然后等待,也不 </i><br />∶<i> 对,请问该怎样写才对?线路按接RAM的方式接的.先谢! </i><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 /><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000001.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -