PIC18F4520內部EEPROM無法寫入問題

作者 j0e168 於 2018年04月30日 11:58:16
請教各位先進,
最近小弟因要新增一個如果接收到通訊指令後, 可備份其接收的設定資料到MCU內部的EEPROM之功能, 但我現在問題:程式只有單純要寫入到內部EEPROM都一直無法寫入(在debug模式), 我有打開監看EEPROM視窗都無法寫入資料(顯示預設值0xFF), 請教各位先進有沒有碰過以上情形或我程式哪裡有問題, 謝謝!
寫入內部EEPROM函式如下:
void eep_write( auto unsigned char ee_addr, auto unsigned char data_out )
{
EEADR = ee_addr;
EEDATA = data_out;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.WREN = 1;

// Required Sequence
INTCONbits.PEIE = 0;
INTCONbits.GIE = 0;
EECON2 = 0x55;
EECON2 = 0xAA;
EECON1bits.WR = 1;
Nop();
Nop();

INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;
ClrWdt();
while(EECON1bits.WR);
ClrWdt();

EECON1bits.WREN = 0;
}

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=7&topic_id=22278&post_id=78083