eeprom.c

来自「这是利用AVR的ATmega162单片机」· C语言 代码 · 共 35 行

C
35
字号
//**********************************
//*版本: Test 1.0
//*作者: XUGUOHONG
//*E-MAIL: KK20Y@YAHOO.COM.CN
//*WEBSITE:microdesign.000webhost.com
//**********************************

#include <iom162v.h>
//atmega162 eeprom 读写操作 
//地址寄存器:EEARH  EEARL
//数据寄存器:EEDR
//控制寄存器:EECR
void eeprom_write(unsigned int,unsigned char);
unsigned char eeprom_read(unsigned int);

void eeprom_write(unsigned int address,unsigned char data)
{
 asm("cli");
 while(EECR&(1<<EEWE))                   //等待前一次写结束
  ;
 EEAR=address;                           //写入地址
 EEDR=data;                              //写入数据
 EECR|=(1<<EEMWE);                       //允许写操作
 EECR|=(1<<EEWE);                        //执行写操作
 asm("sei");
}

unsigned char eeprom_read(unsigned int address)
{
 while(EECR&(1<<EEWE))                   //等待前一次写结束
  ;
 EEAR=address;                           //写入地址
 EECR |= (1<<EERE);                      //执行读操作
 return EEDR;                            //返回数据
}

⌨️ 快捷键说明

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