|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
如何對(duì)PIC16F917的EEPROM進(jìn)行讀寫? |
| 作者:herozoujie 欄目:單片機(jī) |
我的程序如下: #include <pic16f917.h> void main(void){ data = eeprom_read(0x01); while(1); } 但是編譯沒有通過,這么回事? |
| 2樓: | >>參與討論 |
| 作者: yewuyi 于 2006/12/26 16:12:00 發(fā)布:
最好不要用那個(gè)庫 自己寫讀寫函數(shù)就是了。 中文DATASHEET上講的很清楚,參照上面的時(shí)序讀寫即可…… |
|
| 3樓: | >>參與討論 |
| 作者: herozoujie 于 2006/12/27 16:39:00 發(fā)布:
是對(duì)內(nèi)部EEPROM的讀寫 |
|
| 4樓: | >>參與討論 |
| 作者: yewuyi 于 2006/12/27 17:14:00 發(fā)布:
我也沒說是外部的EE。 具體請(qǐng)參考16F91X的中文手冊(cè) |
|
| 5樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/12/27 19:55:00 發(fā)布:
我的編譯器不支持PIC16F917,幫不上忙 |
|
| 6樓: | >>參與討論 |
| 作者: bluearia 于 2006/12/27 21:22:00 發(fā)布:
是不是包含的頭文件沒有eeprom_read函數(shù) |
|
| 7樓: | >>參與討論 |
| 作者: yewuyi 于 2006/12/28 8:23:00 發(fā)布:
#include <pic16f917.h> 第一:這可能不對(duì) 第二:你沒有加載那個(gè)庫 |
|
| 8樓: | >>參與討論 |
| 作者: dodome521 于 2007/1/5 9:38:00 發(fā)布:
應(yīng)該加載 PIC.H庫 |
|
| 9樓: | >>參與討論 |
| 作者: dzdiy 于 2007/1/5 12:22:00 發(fā)布:
用我寫的這個(gè)吧 void WriteEE(unsigned CHAR addr,unsigned CHAR data) //寫EEPROM { do{;} while(WR==1); //上一次寫操作是否完成 EEADR=addr; //EEPROM地址 EEDATA=data; //準(zhǔn)備寫入EEPROM的數(shù)據(jù) EEPGD=0; //指向EEPROM數(shù)據(jù)儲(chǔ)存器 WREN=1; //使能寫操作 EECON2=0x55; //設(shè)置通用參數(shù) EECON2=0xAA; //設(shè)置通用參數(shù) WR=1; //開始寫 do{;} while(WR==1); //等待寫操作完成 WREN=0; //禁止寫操作 } // unsigned CHAR ReadEE(unsigned CHAR addr) //讀EEPROM { unsigned CHAR num; do{;} while(RD==1); //上一次讀操作是否完成 EEADR=addr; //EEPROM地址為00H EEPGD=0; //指向EEPROM數(shù)據(jù)儲(chǔ)存器 RD=1; //開始讀 do{;} while(RD==1); //等待讀操作完成 num=EEDATA; //讀出 return(num); //返回讀出的數(shù) } * - 本貼最后修改時(shí)間:2007-1-5 12:23:42 修改者:dzdiy |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |