📄 eepromb.c
字号:
//--------------------------------------------------------------
// EepromB.c
//
// 功能:I2C总线Eeprom驱动C程序 for 8051
//
// Copyright(c) 2002-2003 Xiamen Yealink Network Technology Co,.Ltd
// By:Zlc 2003-5-5
//-------------------------------------------------------------
#define Modul_EEpromb 1
#include "805xall.h" //编译条件配置,寄存器,常量,I/O口定义,Keil的一些库
//--------------------------------------------------
// BOOL EepromWrite(BYTE Len,BYTE data *DATAAddr,WORD EepromAddr)
//
// 功能:把内部RAM块写到EEPROM
// 入口:Len,DATAAddr,EepromAddr
// Len--要写入的数据长度
// DATAAddr--要写入的内部RAM地址
// EepromAddr--写入的Eeprom地址
// 出口:TRUE 写Eeprom正确
// FALSE 写Eeprom出错
//--------------------------------------------------
BOOL EepromWrite(BYTE Len,BYTE idata *DATAAddr,WORD EepromAddr)
{
Len=Len;
DATAAddr=DATAAddr; //这样做的目的,提供一个转换接口
EepromAddr=EepromAddr;
#pragma asm
mov R0,AR5
mov A,R7
#pragma endasm
if(_EepromBlockWrite())
return(FALSE);
return(TRUE);
}
//--------------------------------------------------
// BOOL EepromWriteX(BYTE Len,BYTE pdata *XDATAAddr,WORD EepromAddr)
//
// 功能:把高端/外部(PDATA)数据块写到EEPROM
// 入口:Len,DATAAddr,EepromAddr
// Len--要写入的数据长度
// DATAAddr--高端/外部(PDATA)数据块
// EepromAddr--写入的Eeprom地址
// 出口:TRUE 写Eeprom正确
// FALSE 写Eeprom出错
//--------------------------------------------------
BOOL EepromWriteX(BYTE Len,BYTE pdata *XDATAAddr,WORD EepromAddr)
{
Len=Len;
XDATAAddr=XDATAAddr;
EepromAddr=EepromAddr;
#pragma asm
mov R0,AR5
mov A,R7
#pragma endasm
if(_EepromBlockWriteX())
return(FALSE);
return(TRUE);
}
//--------------------------------------------------
// BOOL EepromRead(BYTE Len,BYTE data *DATAAddr,WORD EepromAddr)
//
// 功能:读EEPROM内容到内部RAM
// 入口:Len,DATAAddr,EepromAddr
// Len--要读的数据长度
// DATAAddr--内部RAM首地址
// EepromAddr--读Eeprom地址
// 出口:TRUE 读Eeprom正确
// FALSE 读Eeprom出错
//--------------------------------------------------
BOOL EepromRead(BYTE Len,BYTE idata *DATAAddr,WORD EepromAddr)
{
Len=Len;
DATAAddr=DATAAddr;
EepromAddr=EepromAddr;
#pragma asm
mov R0,AR5
mov A,R7
#pragma endasm
if(_EepromBlockRead())
return(FALSE);
return(TRUE);
}
//--------------------------------------------------
// BOOL EepromReadX(BYTE Len,BYTE pdata *XDATAAddr,WORD EepromAddr)
//
// 功能:读EEPROM内容到高端/外部RAM(PDATA)
// 入口:Len,DATAAddr,EepromAddr
// Len--要读的数据长度
// DATAAddr--高端/外部RAM(PDATA)首地址
// EepromAddr--读Eeprom地址
// 出口:TRUE 读Eeprom正确
// FALSE 读Eeprom出错
//--------------------------------------------------
BOOL EepromReadX(BYTE Len,BYTE pdata *XDATAAddr,WORD EepromAddr)
{
Len=Len;
XDATAAddr=XDATAAddr;
EepromAddr=EepromAddr;
#pragma asm
mov R0,AR5
mov A,R7
#pragma endasm
if(_EepromBlockReadX())
return(FALSE);
return(TRUE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -