请求大家帮忙看看,我写AVR 片内EEPROM程序,为何不能写整形数据到EEPROM中?

2019-03-24 17:35发布

/*********片内EEProm_Byte写函数**************/
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数据写入不成功。错在在在何处?本人搞几天也不明白。特求助高手?

此帖出自小平头技术问答
0条回答

一周热门 更多>