⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eeprom.c

📁 本代码完成了对AVR单片机的eeprom的操作。在EEPROM中读写字符型(char)数据和整型(int)数据。
💻 C
字号:
//写一个字节到EEPROM
void write_eeprom(unsigned char data,unsigned int address)
{
  while(EECR&(1<<EEWE))     // 等待上一次写操作结束 
    ;                      
  EEAR=address;             // 设置地址和数据寄存器
  EEDR=data;
  EECR|=(1<<EEMWE);         // 置位EEMWE 
  EECR|=(1<<EEWE);          // 置位EEWE 以启动写操作
}

void write_eeprom_inside(unsigned int address)
{
  while(EECR&(1<<EEWE));    // 等待上一次写操作结束 
  EEAR=address;             // 设置地址和数据寄存器
  EECR|=(1<<EEMWE);         // 置位EEMWE 
  EECR|=(1<<EEWE);          // 置位EEWE 以启动写操作
}

//从EEPROM读一个字节
unsigned char read_eeprom(unsigned int address)
{
   while(EECR&(1<<EEWE))    //等待上一次写操作结束 
     ;   
   EEAR=address;            //设置地址寄存器 
   EECR|=(1<<EERE);         //设置EERE 以启动读操作 
   return EEDR;
}

//从EEPROM中address地址的int读到data中
unsigned int read_eeprom_int(unsigned int address)
{
  unsigned char h,l;
  unsigned int data;
  data=0;
  read_eeprom(address);
  h=EEDR;
  address++;
  read_eeprom(address);
  l=EEDR;
  data|=h;
  data=data<<8;
  data|=l;
  return data;
}

//把数据data写入EEPROM的address地址中
void write_eeprom_int(unsigned int data,unsigned int address)
{
  unsigned char l,h;
  l=data;
  h=data>>8;
  write_eeprom(h,address);
  write_eeprom(l,address+1);
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -