|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
M16中讀EEPROM出錯,請高手指教!。 |
| 作者:space_time 欄目:單片機(jī) |
我用的是MEGA16,在程序開始的時候讀出EEPROM的數(shù)據(jù), 使用地址:0x20到0x60之間 但是發(fā)現(xiàn)有的時候會出現(xiàn)錯誤,并且EEPROM中的數(shù)據(jù)也被改變。! unsigned int word_readeeprom(unsigned CHAR addr1) {unsigned CHAR TEMP,TEMP1; EEARH=0; EEARL=addr1; EECR|=01; TEMP=EEDR; EEARL++; EECR|=01; TEMP1=EEDR; return(TEMP1*256+TEMP); } 郁悶中... 請高手指教!! |
| 2樓: | >>參與討論 |
| 作者: gwnpeter 于 2005/1/13 10:11:00 發(fā)布:
讀之前必須保證EEPROM處于準(zhǔn)備好狀態(tài)!! |
|
| 3樓: | >>參與討論 |
| 作者: forest_j 于 2005/1/14 13:24:00 發(fā)布:
同上 讀前判斷EEWE 數(shù)據(jù)改變懷疑是寫入時出錯,寫數(shù)據(jù)時需要關(guān)中斷。建議使用編譯器自帶的EEPROM讀寫函數(shù) |
|
| 4樓: | >>參與討論 |
| 作者: edazhl 于 2005/1/14 17:47:00 發(fā)布:
M16中讀EEPROM出錯,請高手指教。。 用編譯器的庫函數(shù),就沒有問題。既然有庫函數(shù),沒有必要自己寫這么麻煩 |
|
| 5樓: | >>參與討論 |
| 作者: 音樂樂樂 于 2005/1/16 17:03:00 發(fā)布:
是啊,用現(xiàn)成的庫函數(shù) |
|
| 6樓: | >>參與討論 |
| 作者: zxj2004 于 2005/1/17 18:24:00 發(fā)布:
為什么那么多人喜歡舍近而求遠(yuǎn) 我一直用 技術(shù)手冊上的讀寫EEPROM的程序,沒有發(fā)現(xiàn)什么問題。 |
|
| 7樓: | >>參與討論 |
| 作者: space_time 于 2005/1/18 16:53:00 發(fā)布:
謝謝各位熱心的高手! 我想程序本身是沒有錯誤的,畢竟在試驗(yàn)了第八十多次后才出現(xiàn)錯誤, 寫EEPROM中也沒有錯誤,讀前判斷EEWE,寫數(shù)據(jù)時已經(jīng)關(guān)中斷, 數(shù)據(jù)僅僅寫一次,再次開機(jī)時讀取數(shù)據(jù),并且不再寫EEPROM, 先前讀出數(shù)據(jù)是正確的,在多次連續(xù)測試時才出現(xiàn)錯誤(就是那八十多次)。 目前還是不太明白。。 謝謝各位熱心的高手! |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |