我写了一个把一个字节写入到内部EEPROM的程序,但是我硬件仿真的时候,内部EEPROM相应的地址上不显示我写入的字节,但是我用软件仿真的时候,内部EEPROM相应的地址上就显示我写入的字节,请教大家是怎么一回事,在此谢谢大家了,部分程序如下
EEADRH = 0x00; //EEPROM 地址的高位
EEADR = 0x00; //EEPROM 地址的底位
EEDATA = 0x18; //要写入的数据
EECON1bits.EEPGD = 0; //访问EEPROM存储器
EECON1bits.CFGS = 0; //访问闪存程序存储器或者EEPROM存储器
EECON1bits.WREN = 1; //允许对闪存程序器或者EEPROM存储器写周期
INTCONbits.GIE = 0; //禁止中断
EECON2 = 0x55; //必须的序列
EECON2 = 0xAA; //必须的序列
EECON1bits.WR = 1; //启动写周期
INTCONbits.GIE = 1; //使能中断
while(!PIR2bits.EEIF); //写完成后,EEPROM中断标志位EEIF被置1
PIR2bits.EEIF = 0; //EEIF必须用软件清0
EECON1bits.WREN = 0; |
我想问问大家和配置位的某项设置有关吗?