?? 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 + -