|
|||||||||||
| 技術(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 |
PIC18F252的EEPROM寫(xiě)入不成功. |
| 作者:YDMCP 欄目:單片機(jī) |
請(qǐng)教各位大俠,作PIC18F252軟化模擬時(shí),EEPROM寫(xiě)讀都成功. 但是,硬件試驗(yàn)時(shí)寫(xiě)讀則不成功.請(qǐng)幫我分析.我寫(xiě)的程序是 C,從PIC16移植過(guò)來(lái)(在16F873成功). |
| 2樓: | >>參與討論 |
| 作者: kingpoo 于 2006/6/10 13:35:00 發(fā)布:
看看我的,在18F452上的程序,252應(yīng)該也能用 /********************************************************************* 描 述: 將數(shù)據(jù)ucData寫(xiě)入EEPROM的ucAddr地址 輸入?yún)?shù): INT8U ucData: 輸入的數(shù)據(jù) INT8U ucAddr: 數(shù)據(jù)要保存的地址 返 回 值: 無(wú) 歷 史: 2006-02-14 Created by kingpoo *********************************************************************/ void SetByteToEeprom(INT8U ucData, INT8U ucAddr) { volatile OS_CPU_SR rINTCON; OS_ENTER_CRITICAL(); Nop(); EEADR = ucAddr; EEDATA = ucData; EECON1bits.EEPGD = 0; // POINT TO EEPROM EECON1bits.CFGS = 0; PIE2bits.EEIE = 0; EECON1bits.WREN = 1; // ENABLE WRITE EECON2 = 0x55; EECON2 = 0xAA; EECON1bits.WR = 1; // BEGIN WRITE while(EECON1bits.WR == 1) ClrWdt(); EECON1bits.WREN = 0; // Disable write PIR2bits.EEIF = 0; OS_EXIT_CRITICAL(); } /********************************************************************* 描 述: 從指定地址讀取數(shù)據(jù) 輸入?yún)?shù): INT8U ucAddr: 要讀取數(shù)據(jù)的地址 返 回 值: 無(wú) 歷 史: 2006-02-14 Created by kingpoo *********************************************************************/ INT8U GetByteFromEeprom(INT8U ucAddr) { Nop(); EEADR = ucAddr; EECON1bits.EEPGD = 0; EECON1bits.CFGS = 0; EECON1bits.RD = 1; return (EEDATA); } |
|
| 3樓: | >>參與討論 |
| 作者: YDMCP 于 2006/6/12 7:21:00 發(fā)布:
非常感謝kingpoo! 非常感謝kingpoo,幫助我解開(kāi)了問(wèn)題. |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |