📄 e2prom.c
字号:
/************************************************************************
* Filename: EEPROM.C *
* Date: 12-13-2006 *
* File Version: -07 *
* Author: Nick *
* Company: *
* 美国麦尔.马克汽车电子(深圳)有限公司 *
* 深圳市盐田区北山大道北山工业区1栋8楼 *
* Tel: 86-0755-25273131 *
* Fax: 86-0755-25273121 *
* 邮政编码:518083 *
************************************************************************
* First Modify Timer: *
* Second Modify Timer: *
***********************************************************************/
/*
Warning!!!
The information contained in this document is the sole property of Mile Marker Automotive (Shenzhen) Ltd. Any reproduction in part or as a whole without the written permission of Mile Marker Automotive (Shenzhen) is prohibited.
此文件所包含的信息的所有权仅归麦尔马克汽车电子(深圳)有限公司所有。未经麦尔马克汽车电子(深圳)有限公司许可不得仿制此产品及其部件。
*/
#include "Main.H"
/******************************************************************************************
* Function : Write_E2prom_Byte
* Description : 向PIC内部的EEPROM写指定地址的数据.
* Input : EE_Adr EEPROM 内的地址 ; EE_Data : 要写入的数据
* Output : None
* Return : None
* Compile : Nick
* Timer : 2006-6-16 17:47
* Note :
*******************************************************************************************/
void Write_E2prom_Byte(INT8U E2_Adr,INT8U E2_Data)
{
// SysBit.ExtBit.save_gie = GIE;
GIE = 0;
EEADR = E2_Adr;
EEDAT = E2_Data;
EEPGD = 0;
WREN = 1; //允许写数据到EEPROM
EECON2 = 0X55;
EECON2 = 0XAA;
WR = 1;
GIE = 1;
while(WR);
WREN = 0; //禁止写EEPROM
// GIE = SysBit.ExtBit.save_gie;
}
/******************************************************************************************
* Function : Read_E2prom_Byte
* Description : 读取PIC内部EEPROM指定地址的数据
* Input : EE_Adr EEPROM 内的地址
* Output : None
* Return : 返回的是指定地址的数据
* Compile : Nick
* Timer : 2006-6-16 17:48
* Note :
*******************************************************************************************/
INT8U Read_E2prom_Byte(INT8U E2_Adr)
{
INT8U Dat;
// SysBit.ExtBit.save_gie = GIE;
EEADR = E2_Adr;
EEPGD = 0;
RD = 1;
// GIE = SysBit.ExtBit.save_gie;
Dat = EEDAT;
return Dat;
}
/******************************************************************************************
* Function : Read_nByte_EE
* Description : 读取指定长度,指定地址的EE内容
* Input : RD_Length 读的指定长度,EE_Adr : 读取的首地址 EE_Buf:读数据缓冲
* Output : None
* Return : None
* Compile : Nick
* Timer : 2006-6-19 8:47
* Note :
*******************************************************************************************/
void Read_E2prom_nByte(INT8U Rd_Length,INT8U E2_Adr,INT8U *E2_Buf)
{
while(Rd_Length--)
{
*E2_Buf++ = Read_E2prom_Byte(E2_Adr++);
}
}
/******************************************************************************************
* Function : Write_E2prom_nByte
* Description : 写指定长度,指定起始地址的数据到EEPROM中
* Input : EE_Adr EEPROM 内的开始地址,WE_Length : 指定数据长度 , EE_Buf: 指定的数据指针
* Output : None
* Return : None
* Compile : Nick
* Timer : 2006-6-16 17:59
* Note :
*******************************************************************************************/
void Write_E2prom_nByte(INT8U Wr_Length,INT8U E2_Adr,INT8U *E2_Buf)
{
while(Wr_Length--)
{
Write_E2prom_Byte(E2_Adr++,*E2_Buf++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -