eeprom.c
来自「本代码完成了对AVR单片机的eeprom的操作。在EEPROM中读写字符型(ch」· C语言 代码 · 共 55 行
C
55 行
//写一个字节到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 + =
减小字号Ctrl + -
显示快捷键?