发表于 1 秒前 | 只看该作者 |倒序浏览 |阅读模式
void Write_EEP_Byte(unsigned int uiEEP_Add ,unsigned char ucEEP_Byte)
{
while(EECR & (1<<EEWE)) //等待写完成
EEAR=uiEEP_Add; //地址送入
EEDR=ucEEP_Byte; //数据送入
EECR |= (1<<EEMWE); //主写使能
EECR |= (1<<EEWE); //写使能
}
/*********片内EEProm_Word写函数**************/
void Write_EEP_Word(unsigned int uiEEP_Add ,unsigned int uiEEP_Word)
{
unsigned char temp_byte;
temp_byte=(uiEEP_Word>>8); //数据右移8位产生高字节
Write_EEP_Byte(uiEEP_Add ,temp_byte); //先写入高字节
delay_ms(10);
temp_byte=uiEEP_Word; // 产生低字节
Write_EEP_Byte((uiEEP_Add+1) ,temp_byte); //再写入低字节
}
大家帮忙看看,程序错在什么地方了?程序是写MEGA16单片机内部处事的eeprom,字节能写入,但word数据写入不成功。错在在在何处?本人搞几天也不明白。特求助高手?
|