×
单片机 > 单片机程序设计 > 详情

AVR EEPROM读写

发布时间:2020-06-04 发布时间:
|
void Write_byte_eeprom(unsigned short address,unsigned char data)

{
    while (EECR&(1<  EEAR = address;
 EEDR = data;
 EECR |= (1<  EECR |= (1< }

unsigned char Read_byte_eeprom(unsigned short address)
{
    while (EECR&(1<  EEAR = address;
 EECR |= (1<  
 return EEDR;
}

 

void Refresh_eeprom(void)
{
    unsigned char i = 0;
 unsigned char check = 0;
 unsigned char *p = (unsigned char *)&ram;
 
 asm("cli");
 
 ram.start = 0x55;
 for (; i  {
     Write_byte_eeprom(i,*(p+i));
  check += *(p+i);
 }
 Write_byte_eeprom(i,check);
 
 asm("sei"); 
}

void Read_eeprom(void)
{
    unsigned char i = 0;
    unsigned char check = 0;
 unsigned char *p = (unsigned char *)&ram;
 
 for (; i  {
     *(p+i) = Read_byte_eeprom(i);
  check += *(p+i);
 }
 *(p+i) = Read_byte_eeprom(i);
 //取值合理性判断
 

 if ((*(p+i) != check) || (*p != 0x55))
 {
     Parameter_reset();
 }

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计